dumps()与loads()的使用
发布日期:2022-02-23 07:42:40 浏览次数:15 分类:技术文章

本文共 1440 字,大约阅读时间需要 4 分钟。

json.dumps是将一个Python数据类型列表进行json格式的编码解析,

示例如下:

>>> import json #导入python 中的json模块>>> l = [‘iplaypython’,[1,2,3], {‘name’:’xiaoming’}] #创建一个l列表>>> encoded_json = json.dumps(l) # 将l列表,进行json格式化编码>>> print repr(l)>>> print encoded_json #输出结果

这样我们就将一个list列表对象,进行了json格式的编码转换。

在使用json.dumps时要注意一个问题

>>> import json>>> print json.dumps('中国')"\u4e2d\u56fd"

输出的会是'中国' 中的ascii 字符码,而不是真正的中文。这是因为json.dumps 序列化时对中文默认使用的ascii编码.想输出真正的中文需要指定ensure_ascii=False:

>>> import json>>> print json.dumps('中国')"\u4e2d\u56fd">>> print json.dumps('中国',ensure_ascii=False)"中国"

json.dumps()函数有多个参数:indent参数用于表示美化格式输出时的缩进占位个数,ensure_ascii参数默认为True,这样utf-8格式的非ASCII编码内容会被翻译成ASCII编码输出,要想得到字符的真实表示,需要将这个参数设置为False。其他参数还有:skipkeys,separators,sort_keys等。

 

解码python json格式,可以用这个模块的json.loads()函数的解析方法,

示例如下:

>>> decode_json = json.loads(encoded_json)>>> print type(decode_json) #查看一下解码后的对象类型>>> print decode_json #输出结果

将python json格式解码成Python数据风格

 

json.dump和json.dumps很不同,json.dump主要用来json文件读写,和json.load函数配合使用。

json.dump(x,f),x是对象,f是一个文件对象,这个方法可以将json字符串写入到文本文件中。

import jsondata = [{"a":"aaa","b":"bbb","c":[1,2,3,(4,5,6)]},33,'tantengvip',True]data2 = json.dumps(data)print(data2)f = open('./tt.txt','a')json.dump(data2,f)

这样就生成了一个tt.txt文件,保存了json格式的数据。dumps还提供pritty print,格式化的输出。 

json.load加载json格式文件   下面是从txt文件中读取了json数据。

f = open('./tt.txt','r')hehe = json.load(f)print(hehe)

总结:

json.dumps : dict转成str     json.dump是将python数据保存成json

json.loads:str转成dict          json.load是读取json数据 

转载地址:https://blog.csdn.net/weixin_42781180/article/details/82080639 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:关于Django项目数据库查询时自带的一个DoesNotExist
下一篇:简单高效的B/C软件Docker的安装与启动

发表评论

最新留言

做的很好,不错不错
[***.243.131.199]2024年04月16日 00时03分52秒