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 09 Python
对python append 与浅拷贝的实例讲解
May 04 Python
Python访问MongoDB,并且转换成Dataframe的方法
Oct 15 Python
python pandas读取csv后,获取列标签的方法
Nov 12 Python
python实现电子产品商店
Feb 26 Python
Python计算时间间隔(精确到微妙)的代码实例
Feb 26 Python
PyQt5 对图片进行缩放的实例
Jun 18 Python
python3.6+selenium实现操作Frame中的页面元素
Jul 16 Python
python实现输入任意一个大写字母生成金字塔的示例
Oct 27 Python
在python tkinter界面中添加按钮的实例
Mar 04 Python
python程序需要编译吗
Jun 19 Python
python 实现体质指数BMI计算
May 26 Python
Python中threading库实现线程锁与释放锁
Python中Cookies导出某站用户数据的方法
May 17 #Python
Python 高级库15 个让新手爱不释手(推荐)
Python带你从浅入深探究Tuple(基础篇)
May 15 #Python
Python中zipfile压缩包模块的使用
python 制作一个gui界面的翻译工具
pyqt5打包成exe可执行文件的方法
You might like
《忧国的莫里亚蒂》先导宣传图与STAFF公开
2020/03/04 日漫
php命名空间学习详解
2014/02/27 PHP
浅谈php中include文件变量作用域
2015/06/18 PHP
Yii2创建控制器(createController)方法详解
2016/07/23 PHP
php微信公众号js-sdk开发应用
2016/11/28 PHP
jquery中:input和input的区别分析
2011/07/13 Javascript
javascript笔记 String类replace函数的一些事
2011/09/22 Javascript
JavaScript制作的可折叠弹出式菜单示例
2014/04/04 Javascript
JS实现灵巧的下拉导航效果代码
2015/08/25 Javascript
jQuery+AJAX实现遮罩层登录验证界面(附源码)
2020/09/13 Javascript
基于jQuery下拉选择框插件支持单选多选功能代码
2016/06/07 Javascript
json的使用小结
2016/06/08 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
js简单正则验证汉字英文及下划线的方法
2016/11/28 Javascript
Bootstrap弹出框之自定义悬停框标题、内容和样式示例代码
2017/07/11 Javascript
dropload.js插件下拉刷新和上拉加载使用详解
2017/10/20 Javascript
JS实现多选框的操作
2020/06/24 Javascript
python爬虫入门教程之点点美女图片爬虫代码分享
2014/09/02 Python
Python基于pygame实现的font游戏字体(附源码)
2015/11/11 Python
django1.8使用表单上传文件的实现方法
2016/11/04 Python
python中reader的next用法
2018/07/24 Python
Python多线程原理与用法详解
2018/08/20 Python
Python中的函数式编程:不可变的数据结构
2018/10/08 Python
python使用 __init__初始化操作简单示例
2019/09/26 Python
keras 自定义loss model.add_loss的使用详解
2020/06/22 Python
施华洛世奇巴西官网:SWAROVSKI巴西
2019/12/03 全球购物
日本最大的购物网站乐天市场国际版:Rakuten Global Market(支持中文)
2020/02/03 全球购物
美国乒乓球设备、配件和服装品牌:Killerspin
2020/06/07 全球购物
软件工程师面试题
2012/06/25 面试题
大学生毕业的自我鉴定
2013/11/13 职场文书
挖掘机司机岗位职责
2014/02/12 职场文书
竞选班委演讲稿
2014/04/28 职场文书
解析:创业计划书和商业计划书二者之间到底有什么区别
2019/08/14 职场文书
七年级作文之游记
2019/12/11 职场文书
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis
python全面解析接口返回数据
2022/02/12 Python