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解析中国天气网的天气数据
Mar 21 Python
Python数据结构与算法之使用队列解决小猫钓鱼问题
Dec 14 Python
python负载均衡的简单实现方法
Feb 04 Python
django进阶之cookie和session的使用示例
Aug 17 Python
使用Python实现从各个子文件夹中复制指定文件的方法
Oct 25 Python
Django中如何防范CSRF跨站点请求伪造攻击的实现
Apr 28 Python
Python GUI库PyQt5图形和特效样式QSS介绍
Feb 25 Python
Python WebSocket长连接心跳与短连接的示例
Nov 24 Python
python解包用法详解
Feb 17 Python
python for循环赋值问题
Jun 03 Python
Python图片验证码降噪和8邻域降噪
Aug 30 Python
python入门学习关于for else的特殊特性讲解
Nov 20 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的ob_start() 控制您的浏览器cache
2009/08/03 PHP
使用PHPExcel操作Excel用法实例分析
2015/03/26 PHP
javascript不可用的问题探究
2013/10/01 Javascript
阻止事件(取消浏览器对事件的默认行为并阻止其传播)
2013/11/03 Javascript
为jQuery添加Webkit的触摸的方法分享
2014/02/02 Javascript
JavaScript实现将数组中所有元素连接成一个字符串的方法
2015/04/06 Javascript
原生js实现图片层叠轮播切换效果
2016/02/02 Javascript
JS控制静态页面传递参数并获取参数应用
2016/08/10 Javascript
微信小程序前端源码逻辑和工作流
2016/09/25 Javascript
微信小程序购物商城系统开发系列-工具篇的介绍
2016/11/21 Javascript
详解js前端代码异常监控
2017/01/11 Javascript
微信小程序 MD5的方法详解及实例代码
2017/03/10 Javascript
Bootstrap Tooltip显示换行和左对齐的解决方案
2017/10/11 Javascript
two.js之实现动画效果示例
2017/11/06 Javascript
微信小程序实现图片上传
2019/05/23 Javascript
Vue防止白屏添加首屏动画的实例
2019/10/31 Javascript
JQuery发送ajax请求时中文乱码问题解决
2019/11/14 jQuery
vue使用Sass时报错问题的解决方法
2020/10/14 Javascript
Python实现简单的可逆加密程序实例
2015/03/05 Python
深入理解python中函数传递参数是值传递还是引用传递
2017/11/07 Python
python pandas 如何替换某列的一个值
2018/06/09 Python
解决tensorflow测试模型时NotFoundError错误的问题
2018/07/27 Python
jupyter notebook 添加kernel permission denied的操作
2020/04/21 Python
python如何停止递归
2020/09/09 Python
如何使用Python自动生成报表并以邮件发送
2020/10/15 Python
css3实现元素环绕中心点布局的方法示例
2019/01/15 HTML / CSS
详解css3使用transform出现字体模糊的解决办法
2020/10/16 HTML / CSS
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
大专自我鉴定范文
2013/10/01 职场文书
教师实习自我鉴定
2013/12/13 职场文书
学习演讲稿范文
2014/05/10 职场文书
竞选班干部演讲稿500字
2014/08/20 职场文书
聘任书范文大全
2015/09/21 职场文书
思想品德课教学反思
2016/02/24 职场文书
自愿离婚协议书范本2016
2016/03/18 职场文书