Python中json.dumps()函数的使用解析


Posted in Python onMay 17, 2021

json.dumps将一个Python数据结构转换为JSON

import json
data = {
    'name' : 'myname',
    'age' : 100,
}
json_str = json.dumps(data)

json库的一些用法

 

方法 作用
json.dumps() 将python对象编码成Json字符串
json.loads() 将Json字符串解码成python对象
json.dump() 将python中的对象转化成json储存到文件中
json.load() 将文件中的json的格式转化成python对象提取

json.dump()和json.dumps()的区别

  • json.dumps() 是把python对象转换成json对象的一个过程,生成的是字符串。
  • json.dump() 是把python对象转换成json对象生成一个fp的文件流,和文件相关。

json参数

json.dumps(obj, skipkeys=False, ensure_ascii=True, check_circular=True, allow_nan=True, cls=None, indent=None, separators=None, encoding="utf-8", default=None, sort_keys=False, **kw)
  • obj:转化成json的对象。
  • sort_keys =True:是告诉编码器按照字典排序(a到z)输出。如果是字典类型的python对象,就把关键字按照字典排序。
  • indent:参数根据数据格式缩进显示,读起来更加清晰。
  • separators:是分隔符的意思,参数意思分别为不同dict项之间的分隔符和dict项内key和value之间的分隔符,把:和,后面的空格都除去了。
import json

x = {'name':'你猜','age':19,'city':'四川'}
#用dumps将python编码成json字符串
y = json.dumps(x)
print(y)
i = json.dumps(x,separators=(',',':'))
print(i)
# 输出结果
{"name": "\u4f60\u731c", "age": 19, "city": "\u56db\u5ddd"}
{"name":"\u4f60\u731c","age":19,"city":"\u56db\u5ddd"}
  • skipkeys:默认值是False,如果dict的keys内的数据不是python的基本类型(str,unicode,int,long,float,bool,None),设置为False时,就会报TypeError的错误。此时设置成True,则会跳过这类key 。
  • ensure_ascii=True:默认输出ASCLL码,如果把这个该成False,就可以输出中文。
  • check_circular:如果check_circular为false,则跳过对容器类型的循环引用检查,循环引用将导致溢出错误(或更糟的情况)。
  • allow_nan:如果allow_nan为假,则ValueError将序列化超出范围的浮点值(nan、inf、-inf),严格遵守JSON规范,而不是使用JavaScript等价值(nan、Infinity、-Infinity)。
  • default:default(obj)是一个函数,它应该返回一个可序列化的obj版本或引发类型错误。默认值只会引发类型错误。

json中的dump和dumps的区别

json.dumps()用于将python对象转换为json字符串,返回转换后的json字符串

import json

#将python对象转换为json字符串
persons = [
    {
        'username': "zhaoji",
        "age": "18",
        "country": "China"
    },
    {
        "username": "cyj",
        "age": "18",
        "country": "China"
    }
]
#调用dumps方法转换python对象
json_str = json.dumps(persons)
#打印转换后的json字符串的数据类型
print(type(json_str))
#打印转换后的json字符串
print(json_str)

输出结果为
<class ‘str'>
[{“username”: “zhaoji”, “age”: “18”, “country”: “China”}, {“username”: “cyj”, “age”: “18”, “country”: “China”}]

Process finished with exit code 0

json.dump()用于将python对象转换为字符串并且写入文件

import json

#将python对象转换为json字符串
persons = [
    {
        'username': "zhaoji",
        "age": "18",
        "country": "China"
    },
    {
        "username": "cyj",
        "age": "18",
        "country": "China"
    }
]
with open("./data/j1.json", "w") as fp:
    json.dump(persons, fp)

fp.close()

写入文件为
[{“username”: “zhaoji”, “age”: “18”, “country”: “China”}, {“username”: “cyj”, “age”: “18”, “country”: “China”}]

到此这篇关于Python中json.dumps()函数的使用解析的文章就介绍到这了,更多相关Python json.dumps() 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python中实现两个字典(dict)合并的方法
Sep 23 Python
初步探究Python程序的执行原理
Apr 11 Python
python微元法计算函数曲线长度的方法
Nov 08 Python
Python使用Pickle模块进行数据保存和读取的讲解
Apr 09 Python
HTML的form表单和django的form表单
Jul 25 Python
对YOLOv3模型调用时候的python接口详解
Aug 26 Python
python异常处理和日志处理方式
Dec 24 Python
详解Python实现进度条的4种方式
Jan 15 Python
Jupyter打开图形界面并画出正弦函数图像实例
Apr 24 Python
新手学习Python2和Python3中print不同的用法
Jun 09 Python
Python实现SMTP邮件发送
Jun 16 Python
python 第三方库paramiko的常用方式
Feb 20 Python
Python中threading库实现线程锁与释放锁
Python中Cookies导出某站用户数据的方法
May 17 #Python
Python 高级库15 个让新手爱不释手(推荐)
Python带你从浅入深探究Tuple(基础篇)
May 15 #Python
Python中zipfile压缩包模块的使用
python 制作一个gui界面的翻译工具
pyqt5打包成exe可执行文件的方法
You might like
实现php加速的eAccelerator dll支持文件打包下载
2007/09/30 PHP
php采集速度探究总结(原创)
2008/04/18 PHP
ThinkPHP的Widget扩展实例
2014/06/19 PHP
浅析PHP中的闭包和匿名函数
2017/12/25 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
javascript 写类方式之八
2009/07/05 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
jQuery解决浏览器兼容性问题案例分析
2016/04/15 Javascript
javascript截图 jQuery插件imgAreaSelect使用详解
2016/05/04 Javascript
JavaScript中函数声明与函数表达式的区别详解
2016/08/18 Javascript
微信小程序 开发指南详解
2016/09/27 Javascript
angular2+nodejs实现图片上传功能
2017/03/27 NodeJs
详解最新vue-cli 2.9.1的webpack存在问题
2017/12/16 Javascript
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
vue.js中proxyTable 转发请求的实现方法
2018/09/20 Javascript
Vue源码分析之Vue实例初始化详解
2019/08/25 Javascript
vue基于Echarts的拖拽数据可视化功能实现
2020/12/04 Vue.js
Jquery+javascript实现支付网页数字键盘
2020/12/21 jQuery
使用Python的判断语句模拟三目运算
2015/04/24 Python
简单易懂的python环境安装教程
2017/07/13 Python
python按综合、销量排序抓取100页的淘宝商品列表信息
2018/02/24 Python
利用pandas合并多个excel的方法示例
2019/10/10 Python
python manage.py runserver流程解析
2019/11/08 Python
TENSORFLOW变量作用域(VARIABLE SCOPE)
2020/01/10 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
CSS3+JavaScript实现炫酷呼吸效果的示例代码
2020/06/15 HTML / CSS
html5理解head_动力节点Java学院整理
2017/07/13 HTML / CSS
HTML5 新事件 小结
2009/07/16 HTML / CSS
英国大码女性时装零售商:Evans
2018/08/29 全球购物
全民健身日活动方案
2014/01/29 职场文书
质量月活动策划方案
2014/03/10 职场文书
爱之链教学反思
2014/04/30 职场文书
我读书我快乐演讲稿
2014/05/07 职场文书
伊索寓言读书笔记
2015/06/30 职场文书
quickjs 封装 JavaScript 沙箱详情
2021/11/02 Javascript
JavaCV实现照片马赛克效果
2022/01/22 Java/Android