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 相关文章推荐
Windows系统下使用flup搭建Nginx和Python环境的方法
Dec 25 Python
python实现多线程网页下载器
Apr 15 Python
详解python 爬取12306验证码
May 10 Python
python实现动态数组的示例代码
Jul 15 Python
Python实现多线程/多进程的TCP服务器
Sep 03 Python
Python3 shutil(高级文件操作模块)实例用法总结
Feb 19 Python
Python os模块常用方法和属性总结
Feb 20 Python
通过自学python能找到工作吗
Jun 21 Python
Python requests接口测试实现代码
Sep 08 Python
使用Python制作一盏 3D 花灯喜迎元宵佳节
Feb 26 Python
python控制台打印log输出重复的解决方法
May 14 Python
python中sqllite插入numpy数组到数据库的实现方法
Jun 21 Python
Python中threading库实现线程锁与释放锁
Python中Cookies导出某站用户数据的方法
May 17 #Python
Python 高级库15 个让新手爱不释手(推荐)
Python带你从浅入深探究Tuple(基础篇)
May 15 #Python
Python中zipfile压缩包模块的使用
python 制作一个gui界面的翻译工具
pyqt5打包成exe可执行文件的方法
You might like
Home Coffee Roasting
2021/03/03 咖啡文化
解析PHP中empty is_null和isset的测试
2013/06/29 PHP
在Laravel框架里实现发送邮件实例(邮箱验证)
2016/05/20 PHP
Laravel中log无法写入问题的解决
2017/06/17 PHP
Ubuntu上安装yaf扩展的方法
2018/01/29 PHP
jQuery选择没有colspan属性的td的代码
2010/07/06 Javascript
JavaScript使用IEEE 标准进行二进制浮点运算产生莫名错误的解决方法
2011/05/28 Javascript
jquery 插件学习(三)
2012/08/06 Javascript
Javascript中的arguments与重载介绍
2015/03/15 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
动态加载jQuery的两种方法实例分析
2015/07/17 Javascript
JavaScript 对象字面量讲解
2016/06/06 Javascript
JavaScript设置名字输入不合法的实现方法
2017/05/23 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
关于Vue项目跨平台运行问题的解决方法
2018/09/18 Javascript
Vue路由模块化配置的完整步骤
2019/08/14 Javascript
如何正确理解vue中的key详解
2019/11/02 Javascript
JS正则表达式验证端口范围(0-65535)
2020/01/06 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
2020/01/26 Javascript
vue项目中企业微信使用js-sdk时config和agentConfig配置方式详解
2020/12/15 Vue.js
常见的在Python中实现单例模式的三种方法
2015/04/08 Python
python 根据pid杀死相应进程的方法
2017/01/16 Python
详解python里使用正则表达式的分组命名方式
2017/10/24 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
Python读取mat文件,并保存为pickle格式的方法
2018/10/23 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
python操作文件的参数整理
2019/06/11 Python
简单了解Django应用app及分布式路由
2019/07/24 Python
python程序 线程队列queue使用方法解析
2019/09/23 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
解决django接口无法通过ip进行访问的问题
2020/03/27 Python
建龙钢铁面试总结
2014/04/15 面试题
信息服务专业毕业生求职信
2014/03/02 职场文书
绘画专业自荐信
2014/07/04 职场文书
卖车协议书范文
2016/03/23 职场文书
500字作文之关于爸爸
2019/11/14 职场文书