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实现多线程下载文件的代码实例
Jun 01 Python
用Python实现换行符转换的脚本的教程
Apr 16 Python
Django中模版的子目录与include标签的使用方法
Jul 16 Python
python中利用await关键字如何等待Future对象完成详解
Sep 07 Python
Python中.join()和os.path.join()两个函数的用法详解
Jun 11 Python
Python使用百度翻译开发平台实现英文翻译为中文功能示例
Aug 08 Python
Python django搭建layui提交表单,表格,图标的实例
Nov 18 Python
wxPython多个窗口的基本结构
Nov 19 Python
python opencv实现gif图片分解的示例代码
Dec 13 Python
Python字符编码转码之GBK,UTF8互转
Feb 09 Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 Python
Python的flask接收前台的ajax的post数据和get数据的方法
Apr 12 Python
Python中threading库实现线程锁与释放锁
Python中Cookies导出某站用户数据的方法
May 17 #Python
Python 高级库15 个让新手爱不释手(推荐)
Python带你从浅入深探究Tuple(基础篇)
May 15 #Python
Python中zipfile压缩包模块的使用
python 制作一个gui界面的翻译工具
pyqt5打包成exe可执行文件的方法
You might like
thinkPHP简单调用函数与类库的方法
2017/03/15 PHP
jquery实现的网页自动播放声音
2014/04/30 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
jquery实现漂亮的二级下拉菜单代码
2015/08/26 Javascript
浅谈JavaScript中小数和大整数的精度丢失
2016/05/31 Javascript
JS模拟的Map类实现方法
2016/06/17 Javascript
javascript运算符——逻辑运算符全面解析
2016/06/27 Javascript
JavaScript简单计算人的年龄示例
2017/04/15 Javascript
jQuery设置图片等比例缩小的方法
2017/04/29 jQuery
自制简易打赏功能的实例
2017/09/02 Javascript
three.js 入门案例详解
2018/01/23 Javascript
VUE重点问题总结
2018/03/19 Javascript
JS实现把一个页面层数据传递到另一个页面的两种方式
2018/08/13 Javascript
JS打印彩色菱形的实例代码
2018/08/15 Javascript
swiper在angularjs中使用循环轮播失效的解决方法
2018/09/27 Javascript
JS组件库AlloyTouch实现图片轮播过程解析
2020/05/29 Javascript
vue实现购物车案例
2020/05/30 Javascript
jdk1.8+vue elementui实现多级菜单功能
2020/09/24 Javascript
了不起的11个JavaScript代码重构最佳实践小结
2021/01/11 Javascript
tensorflow输出权重值和偏差的方法
2018/02/10 Python
pandas object格式转float64格式的方法
2018/04/10 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
python 通过SSHTunnelForwarder隧道连接redis的方法
2019/02/19 Python
python3实现网页版raspberry pi(树莓派)小车控制
2020/02/12 Python
Python批量启动多线程代码实例
2020/02/18 Python
python golang中grpc 使用示例代码详解
2020/06/03 Python
keras load model时出现Missing Layer错误的解决方式
2020/06/11 Python
使用Keras预训练好的模型进行目标类别预测详解
2020/06/27 Python
JNI的定义
2012/11/25 面试题
集中整治工作方案
2014/05/01 职场文书
自主招生推荐信范文
2014/05/10 职场文书
大学英语专业求职信
2014/06/21 职场文书
2016年高校自主招生自荐信范文
2015/03/24 职场文书
元宵节晚会主持词
2015/07/01 职场文书
三八节祝酒词
2015/08/11 职场文书
详解Vue的options
2021/05/15 Vue.js