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获取CPU、内存和硬盘等windowns系统信息的2个例子
Apr 15 Python
Python实现简单状态框架的方法
Mar 19 Python
Python字符串处理函数简明总结
Apr 13 Python
Python中zfill()方法的使用教程
May 20 Python
Python中文件I/O高效操作处理的技巧分享
Feb 04 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
python字典快速保存于读取的方法
Mar 23 Python
Sanic框架请求与响应实例分析
Jul 16 Python
Windows 8.1 64bit下搭建 Scrapy 0.22 环境
Nov 18 Python
python与js主要区别点总结
Sep 13 Python
python 实现全球IP归属地查询工具
Dec 18 Python
Python datetime模块的使用示例
Feb 02 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开发入门教程之面向对象
2006/12/05 PHP
PHP中判断文件存在使用is_file还是file_exists?
2015/04/03 PHP
PHP设计模式入门之迭代器模式原理与实现方法分析
2020/04/26 PHP
javascript 写的一个简单的timer
2009/07/30 Javascript
一个JS的日期格式化算法示例
2013/07/31 Javascript
Javascript:为input设置readOnly属性(示例讲解)
2013/12/25 Javascript
javascript中cookie对象用法实例分析
2015/01/30 Javascript
js简单实现标签云效果实例
2015/08/06 Javascript
使用jQuery调用XML实现无刷新即时聊天
2016/08/07 Javascript
vue项目常用组件和框架结构介绍
2017/12/24 Javascript
深入浅析Vue中的Prop
2018/06/10 Javascript
vue父组件异步获取数据传给子组件的方法
2018/07/26 Javascript
React 项目迁移 Webpack Babel7的实现
2018/09/12 Javascript
mpvue将vue项目转换为小程序
2018/09/30 Javascript
封装微信小程序http拦截器过程解析
2019/08/13 Javascript
Vue-CLI项目中路由传参的方式详解
2019/09/01 Javascript
Egg Vue SSR 服务端渲染数据请求与asyncData
2019/11/24 Javascript
vue跳转页面的几种方法(推荐)
2020/03/26 Javascript
video.js添加自定义组件的方法
2020/12/09 Javascript
python使用reportlab画图示例(含中文汉字)
2013/12/03 Python
python对字典进行排序实例
2014/09/25 Python
python创建一个最简单http webserver服务器的方法
2015/05/08 Python
python删除服务器文件代码示例
2018/02/09 Python
详解基于python-django框架的支付宝支付案例
2019/09/23 Python
python 协程中的迭代器,生成器原理及应用实例详解
2019/10/28 Python
谈谈Python:为什么类中的私有属性可以在外部赋值并访问
2020/03/05 Python
浅谈keras中Dropout在预测过程中是否仍要起作用
2020/07/09 Python
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
美国体育用品商店:Rally House(NCAA、NFL、MLB、NBA、NHL和MLS)
2018/01/03 全球购物
墨西哥巴士车票在线购买:ClickBus
2018/03/27 全球购物
吉列剃须刀英国官网:Gillette英国
2019/03/28 全球购物
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
毕业生优秀推荐信
2013/11/26 职场文书
MySQL空间数据存储及函数
2021/09/25 MySQL
CSS 一行代码实现头像与国旗的融合
2021/10/24 HTML / CSS
linux下安装redis图文详细步骤
2021/12/04 Redis