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生成随机数的方法
Jan 14 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
Aug 31 Python
python中使用%与.format格式化文本方法解析
Dec 27 Python
python+matplotlib绘制简单的海豚(顶点和节点的操作)
Jan 02 Python
pygame实现简易飞机大战
Sep 11 Python
用python生成1000个txt文件的方法
Oct 25 Python
用Pytorch训练CNN(数据集MNIST,使用GPU的方法)
Aug 19 Python
使用tensorboard可视化loss和acc的实例
Jan 21 Python
解决tensorboard多个events文件显示紊乱的问题
Feb 15 Python
浅谈Python中的字符串
Jun 10 Python
利用python中的matplotlib打印混淆矩阵实例
Jun 16 Python
Python使用Turtle模块绘制国旗的方法示例
Feb 28 Python
Python中threading库实现线程锁与释放锁
Python中Cookies导出某站用户数据的方法
May 17 #Python
Python 高级库15 个让新手爱不释手(推荐)
Python带你从浅入深探究Tuple(基础篇)
May 15 #Python
Python中zipfile压缩包模块的使用
python 制作一个gui界面的翻译工具
pyqt5打包成exe可执行文件的方法
You might like
国产动画《伍六七》原声大碟大卖,啊哈娱乐引领音乐赋能IP的新尝试
2020/03/08 国漫
php多层数组与对象的转换实例代码
2013/08/05 PHP
windows下配置apache+php+mysql时出现问题的处理方法
2014/06/20 PHP
PHP实现的简单mock json脚本分享
2015/02/10 PHP
PHP封装的HttpClient类用法实例
2015/06/17 PHP
php mysql_real_escape_string addslashes及mysql绑定参数防SQL注入攻击
2016/12/23 PHP
基于thinkPHP类的插入数据库操作功能示例
2017/01/06 PHP
PJBlog插件 防刷新的在线播放器
2006/10/25 Javascript
js变量以及其作用域详解
2020/07/18 Javascript
Jquery 改变radio/checkbox选中状态,获取选中的值(示例代码)
2013/12/12 Javascript
极易被忽视的javascript面试题七问七答
2016/02/15 Javascript
jQuery使用正则表达式限制文本框只能输入数字
2016/06/18 Javascript
终于实现了!精彩的jquery弹幕效果
2016/07/18 Javascript
js制作支付倒计时页面
2016/10/21 Javascript
js实现交通灯效果
2017/01/13 Javascript
jQuery仿IOS弹出框插件
2017/02/18 Javascript
微信小程序开发之animation循环动画实现的让云朵飘效果
2017/07/14 Javascript
webpack里使用jquery.mCustomScrollbar插件的方法
2018/05/30 jQuery
在VUE中实现文件下载并判断状态的方法
2019/11/08 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
Python 找到列表中满足某些条件的元素方法
2018/06/26 Python
Python logging模块用法示例
2018/08/28 Python
python生成n个元素的全组合方法
2018/11/13 Python
Python-copy()与deepcopy()区别详解
2019/07/12 Python
python paramiko远程服务器终端操作过程解析
2019/12/14 Python
基于python爬取有道翻译过程图解
2020/03/31 Python
scrapy头部修改的方法详解
2020/12/06 Python
原材料检验岗位职责
2014/03/15 职场文书
追悼会主持词
2014/03/20 职场文书
工伤事故证明
2014/10/20 职场文书
2015年调度员工作总结
2015/04/30 职场文书
家庭教育培训学习心得体会
2016/01/14 职场文书
解决jupyter notebook启动后没有token的坑
2021/04/24 Python
golang操作redis的客户端包有多个比如redigo、go-redis
2022/04/14 Golang
Python使用MapReduce进行简单的销售统计
2022/04/22 Python
Python 第三方库 openpyxl 的安装过程
2022/12/24 Python