python写入json文件编码问题,
简介
JSON(JavaScript Object Notation)是一种轻量级数据交换格式,它基于ECMAScript的一个子集。JSON采用完全独立于语言的文本格式。这些特性使得JSON成为一种理想的数据交换格式,便于人们读写,也便于机器分析和生成。它在接口数据开发和传输中非常常用。
在Python3中,我们使用内置模块json对JSON对象进行解码和编码。
json模块提供了四个功能:dumps、dump、loads、load
转储将数据类型转换为字符串。
Dump将数据类型转换为字符串,并将其存储在文件中。
将字符串转换为数据类型。
打开加载文件,将其从字符串转换为数据类型。
转储编码
我们使用转储将Python对象编码成JSON对象。当然,dumps只完成序列化为str,但是dump必须传递文件描述符并将序列化的str保存到文件中。
编码字典
importjson
odata={www:1, pythontab.com:2, Python3:3}
jdata=json.dumps(odata)
打印结果样本(jdata):
{www:1, pythontab.com:2, python 3 :3 }编码列表
importjson
ldata=[100, Python2 ,{www:1, pythontab.com:2, Python3:3}]
jdata=json.dumps(ldata)
打印结果样本(jdata):
[100, Python3 ,{www:1, pythontab.com:2, python 3 :3 }]编码字符串
importjson
sdata=Python3
jdata=json.dumps(sdata)
打印结果样本(jdata):
蟒蛇3号格式化输出JSON
将下面的数组转换成标准json格式
importjson
ldata=[Python3 ,100,{www:1, pythontab.com:2, Python3:3},True]
jdata=json.dumps(ldata,sort_keys=True,indent=4)
打印结果样本(jdata):
[
Python3 ,
100,
{
Python3:3,
pythontab.com:2,
www:1
},
真实的
]参数解析:
Sort_keys=True,那么字典的输出将按照键的顺序排序。
Indent=4表示缩进是4。如果indent为非负整数或字符串,JSON数组元素和对象成员将被美化并输出到该值指定的缩进级别。
转换关系对照表
下面是Python原语类型到JSON对象转换的对照表:
loads解码
我们使用加载来解码JSON对象。解码结果就是与之对应的Python对象类型。当然,loads只完成反序列化,load只接收文件描述符,读取文件并反序列化。
比如我们用来解码上一个例子的数据。
importjson
jsondata=
[
Python3 ,
100,
{
Python3:3,
pythontab.com:2,
www:1
},
真实的
]
ldata=json.loads(jsondata)
打印(类型(ldata))
打印结果样本(ldata)
类别“列表”
[Python3 ,100,{Python3 :3, Python tab.com 33602, www 33601},true]可以看出我们在上一个例子中成功解码了JSON对象,最终解码结果为Python list对象类型,与Python对象的JSON对象对照表结果一致。
总结
Python3中的Json解析编码模块json使用起来非常简单,而且功能齐全,完全可以满足我们的日常需求。
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。