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二叉搜索树与双向链表转换实现方法
Apr 29 Python
深入理解Python中range和xrange的区别
Nov 26 Python
Python中单、双下划线的区别总结
Dec 01 Python
有趣的python小程序分享
Dec 05 Python
Python利用字典将两个通讯录文本合并为一个文本实例
Jan 16 Python
python批量图片处理简单示例
Aug 06 Python
python 函数中的参数类型
Feb 11 Python
解决flask接口返回的内容中文乱码的问题
Apr 03 Python
基于python检查矩阵计算结果
May 21 Python
Pytorch转tflite方式
May 25 Python
python文件编写好后如何实践
Jul 07 Python
几款Python编译器比较与推荐(小结)
Oct 15 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实现每天自动变换随机问候语的方法
2015/05/12 PHP
PHP实现上传文件并存进数据库的方法
2015/07/16 PHP
Composer设置忽略版本匹配的方法
2016/04/27 PHP
jQuery EasyUI API 中文文档 DateTimeBox日期时间框
2011/10/16 Javascript
JS模板实现方法
2013/04/03 Javascript
jQuery中get和post方法传值测试及注意事项
2014/08/08 Javascript
仿JQuery输写高效JSLite代码的一些技巧
2015/01/13 Javascript
javascript实现仿IE顶部的可关闭警告条
2015/05/05 Javascript
jQuery实现textarea自动增长宽高的方法
2015/12/18 Javascript
js+html5实现canvas绘制椭圆形图案的方法
2016/05/21 Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
2016/11/01 Javascript
理解javascript中的闭包
2017/01/11 Javascript
浅析JavaScript中的平稳退化(graceful degradation)
2017/07/24 Javascript
利用jQuery实现简单的拖曳效果实例代码
2017/10/20 jQuery
setTimeout时间设置为0详细解析
2018/03/13 Javascript
Vue实现表格中对数据进行转换、处理的方法
2018/09/06 Javascript
vue组件之间通信实例总结(点赞功能)
2018/12/05 Javascript
js核心基础之构造函数constructor用法实例分析
2019/05/11 Javascript
简单了解小程序+node梳理登陆流程
2019/06/24 Javascript
微信小程序获取用户信息及手机号(后端TP5.0)
2019/09/12 Javascript
微信小程序实现日历签到
2020/09/21 Javascript
[01:15:29]DOTA2上海特级锦标赛主赛事日 - 3 胜者组第二轮#2Secret VS EG第三局
2016/03/04 DOTA
[02:05:03]完美世界DOTA2联赛循环赛 LBZS VS Matador BO2 10.28
2020/10/28 DOTA
[51:53]完美世界DOTA2联赛决赛日 Inki vs LBZS 第二场 11.08
2020/11/10 DOTA
python使用turtle库绘制时钟
2020/03/25 Python
python把数组中的数字每行打印3个并保存在文档中的方法
2018/07/17 Python
python看某个模块的版本方法
2018/10/16 Python
10款最好的Python开发编辑器
2019/07/03 Python
浅析使用Python搭建http服务器
2019/10/27 Python
使用Python打造一款间谍程序的流程分析
2020/02/21 Python
Python sublime安装及配置过程详解
2020/06/29 Python
CSS3中媒体查询结合rem布局适配手机屏幕
2019/06/10 HTML / CSS
投资合作协议书范本
2014/04/17 职场文书
房屋买卖协议样本
2014/11/16 职场文书
信用卡催款律师函
2015/05/27 职场文书
浅谈Python中的函数(def)及参数传递操作
2021/05/25 Python