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中用于求最小值的min()方法
May 15 Python
Python编程中的异常处理教程
Aug 21 Python
python+os根据文件名自动生成文本
Mar 21 Python
Django 路由控制的实现
Jul 17 Python
python实现桌面气泡提示功能
Jul 29 Python
python tkinter实现屏保程序
Jul 30 Python
python安装virtualenv虚拟环境步骤图文详解
Sep 18 Python
keras中的backend.clip用法
May 22 Python
详解Windows下PyCharm安装Numpy包及无法安装问题解决方案
Jun 18 Python
python的launcher用法知识点总结
Aug 07 Python
python进度条显示之tqmd模块
Aug 22 Python
Python 详解通过Scrapy框架实现爬取CSDN全站热榜标题热词流程
Nov 11 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计算几分钟前、几小时前、几天前的几个函数、类分享
2014/04/09 PHP
PHP获取服务器端信息的方法
2014/11/28 PHP
PHP使用gmdate实现将一个UNIX 时间格式化成GMT文本的方法
2015/03/19 PHP
PHP+Ajax无刷新带进度条图片上传示例
2017/02/08 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
PHP中关于php.ini参数优化详解
2020/02/28 PHP
javascript 贪吃蛇实现代码
2008/11/22 Javascript
jquery下异步提交表单 异步跨域提交表单
2010/11/17 Javascript
学习从实践开始之jQuery插件开发 菜单插件开发
2012/05/03 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
jquery+CSS3模拟Path2.0动画菜单效果代码
2015/08/31 Javascript
JS实现部分HTML固定页面顶部随屏滚动效果
2015/12/24 Javascript
Bootstrap源码解读下拉菜单(4)
2016/12/23 Javascript
jQuery插件echarts实现的循环生成图效果示例【附demo源码下载】
2017/03/04 Javascript
webpack使用 babel-loader 转换 ES6代码示例
2017/08/21 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
python文件操作之目录遍历实例分析
2015/05/20 Python
深入源码解析Python中的对象与类型
2015/12/11 Python
利用Anaconda完美解决Python 2与python 3的共存问题
2017/05/25 Python
Python tornado队列示例-一个并发web爬虫代码分享
2018/01/09 Python
Python判断两个list是否是父子集关系的实例
2018/05/04 Python
python版opencv摄像头人脸实时检测方法
2018/08/03 Python
Python3.5模块的定义、导入、优化操作图文详解
2019/04/27 Python
python flask 如何修改默认端口号的方法步骤
2019/07/12 Python
python Tcp协议发送和接收信息的例子
2019/07/22 Python
使用Python脚本从文件读取数据代码实例
2020/01/19 Python
使用python无账号无限制获取企查查信息的实例代码
2020/04/17 Python
Python更换pip源方法过程解析
2020/05/19 Python
使用SVG实现提示框功能的示例代码
2020/06/05 HTML / CSS
一套C++笔试题面试题
2012/06/06 面试题
大学自主招生自荐信范文
2014/02/26 职场文书
林肯就职演讲稿
2014/05/19 职场文书
销售行政专员岗位职责
2014/06/10 职场文书
好好学习保证书
2015/02/26 职场文书
汽车4S店前台接待岗位职责
2015/04/03 职场文书
Java中常用解析工具jackson及fastjson的使用
2021/06/28 Java/Android