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 专题九 Mysql数据库编程基础知识
Mar 16 Python
Python编程生成随机用户名及密码的方法示例
May 05 Python
关于反爬虫的一些简单总结
Dec 13 Python
Python单元测试简单示例
Jul 03 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
Dec 06 Python
对Python的交互模式和直接运行.py文件的区别详解
Jun 29 Python
python之yield和Generator深入解析
Sep 18 Python
Python3.5 win10环境下导入kera/tensorflow报错的解决方法
Dec 19 Python
Tensorflow Summary用法学习笔记
Jan 10 Python
python安装后的目录在哪里
Jun 21 Python
Python 如何创建一个简单的REST接口
Jul 30 Python
学生如何注册Pycharm专业版以及pycharm的安装
Sep 24 Python
Python中threading库实现线程锁与释放锁
Python中Cookies导出某站用户数据的方法
May 17 #Python
Python 高级库15 个让新手爱不释手(推荐)
Python带你从浅入深探究Tuple(基础篇)
May 15 #Python
Python中zipfile压缩包模块的使用
python 制作一个gui界面的翻译工具
pyqt5打包成exe可执行文件的方法
You might like
Jquery+WebService 校验账号是否已被注册的代码
2010/07/12 Javascript
JavaScript下通过的XMLHttpRequest发送请求的代码
2011/06/28 Javascript
JQuery1.6 使用方法三
2011/11/23 Javascript
Extjs优化(一)删除冗余代码提高运行速度
2013/04/15 Javascript
把input初始值不写value的具体实现方法
2013/07/04 Javascript
JavaScript中停止执行setInterval和setTimeout事件的方法
2015/05/14 Javascript
Boostrap模态窗口的学习小结
2016/03/28 Javascript
Bootstrap3 datetimepicker控件使用实例
2016/12/13 Javascript
canvas 实现中国象棋
2017/02/17 Javascript
jquery实现表单获取短信验证码代码
2017/03/13 Javascript
jquery实现图片平滑滚动详解
2017/03/22 jQuery
微信小程序分享海报生成的实现方法
2018/12/10 Javascript
微信小程序结合Storage实现搜索历史效果
2019/05/18 Javascript
[50:29]2014 DOTA2华西杯精英邀请赛 5 24 DK VS iG
2014/05/26 DOTA
python使用pymysql实现操作mysql
2016/09/13 Python
利用pyinstaller将py文件打包为exe的方法
2018/05/14 Python
python RabbitMQ 使用详细介绍(小结)
2018/11/08 Python
解决新django中的path不能使用正则表达式的问题
2018/12/18 Python
对python列表里的字典元素去重方法详解
2019/01/21 Python
Python列表对象实现原理详解
2019/07/01 Python
windows安装TensorFlow和Keras遇到的问题及其解决方法
2019/07/10 Python
Python Multiprocessing多进程 使用tqdm显示进度条的实现
2019/08/13 Python
详解python播放音频的三种方法
2019/09/23 Python
Python基于内置库pytesseract实现图片验证码识别功能
2020/02/24 Python
Python爬取数据并实现可视化代码解析
2020/08/12 Python
在HTML5中如何使用CSS建立不可选的文字
2014/10/17 HTML / CSS
HTML5 Blob对象的具体使用
2020/05/22 HTML / CSS
Perfume’s Club英国官网:购买香水和护肤品
2019/11/02 全球购物
中专毕业生自荐信范文
2013/11/28 职场文书
学院书画协会部门职责
2013/11/28 职场文书
门店业绩提升方案
2014/06/08 职场文书
四风查摆剖析材料
2014/10/10 职场文书
智慧人生:永远不需要向任何人解释你自己
2019/08/20 职场文书
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript
如何设置多台电脑共享打印机?多台电脑共享打印机的方法
2022/04/08 数码科技
Android基础入门之dataBinding的简单使用教程
2022/06/21 Java/Android