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记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
基于python的字节编译详解
Sep 20 Python
深入理解Python中range和xrange的区别
Nov 26 Python
Python递归实现汉诺塔算法示例
Mar 19 Python
解决Python二维数组赋值问题
Nov 28 Python
python实现大战外星人小游戏实例代码
Dec 26 Python
PyTorch的自适应池化Adaptive Pooling实例
Jan 03 Python
python 爬取免费简历模板网站的示例
Sep 27 Python
详解Python遍历列表时删除元素的正确做法
Jan 07 Python
Python3接口性能测试实例代码
Jun 20 Python
Python pygame实现中国象棋单机版源码
Jun 20 Python
python APScheduler执行定时任务介绍
Apr 19 Python
Python中threading库实现线程锁与释放锁
Python中Cookies导出某站用户数据的方法
May 17 #Python
Python 高级库15 个让新手爱不释手(推荐)
Python带你从浅入深探究Tuple(基础篇)
May 15 #Python
Python中zipfile压缩包模块的使用
python 制作一个gui界面的翻译工具
pyqt5打包成exe可执行文件的方法
You might like
Smarty中的注释和截断功能介绍
2015/04/09 PHP
LINUX下PHP程序实现WORD文件转化为PDF文件的方法
2016/05/13 PHP
Laravel框架定时任务2种实现方式示例
2018/12/08 PHP
laravel 根据不同组织加载不同视图的实现
2019/10/14 PHP
PHP封装请求类实例分析【基于Yii框架】
2019/10/17 PHP
JavaScript 事件参考手册
2008/12/24 Javascript
json数据的列循环示例
2013/09/06 Javascript
使用insertAfter()方法在现有元素后添加一个新元素
2014/05/28 Javascript
基于promise.js实现nodejs的promises库
2014/07/06 NodeJs
初步了解javascript面向对象
2015/11/09 Javascript
js实现年月日表单三级联动
2020/04/17 Javascript
AngularJS实现的2048小游戏功能【附源码下载】
2018/01/03 Javascript
原生nodejs使用websocket代码分享
2018/04/07 NodeJs
关于Vue组件库开发详析
2018/07/01 Javascript
通过实例学习React中事件节流防抖
2019/06/17 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
Tornado服务器中绑定域名、虚拟主机的方法
2014/08/22 Python
python实现逆波兰计算表达式实例详解
2015/05/06 Python
用Python登录好友QQ空间点赞的示例代码
2017/11/04 Python
python并发和异步编程实例
2018/11/15 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
Python 调用 zabbix api的方法示例
2019/01/06 Python
Python全栈之列表数据类型详解
2019/10/01 Python
Python 实现将大图切片成小图,将小图组合成大图的例子
2020/03/14 Python
python模拟斗地主发牌
2020/04/22 Python
Python并发concurrent.futures和asyncio实例
2020/05/04 Python
Lookfantastic葡萄牙官方网站:欧洲第一大化妆品零售商
2018/03/17 全球购物
办理暂住证介绍信
2014/01/11 职场文书
任命书模板
2014/06/04 职场文书
软弱涣散基层党组织整改方案
2014/10/25 职场文书
大学生学习新党章思想汇报
2014/10/25 职场文书
家长对孩子的寄语
2015/02/26 职场文书
2015毕业寄语大全
2015/02/26 职场文书
请假条应该怎么写?
2019/06/24 职场文书
HTML+CSS制作心跳特效的实现
2021/05/26 HTML / CSS
vue css 相对路径导入问题级踩坑记录
2022/06/05 Vue.js