当前位置: 首页 > 图灵资讯 > 行业资讯> 讲解Python3内置模块之json编码解码方法

讲解Python3内置模块之json编码解码方法

发布时间:2025-09-29 11:04:35

简介

JSON(JavaScript Object Notation) 它是一种基于ECMAScript的子集的轻量级数据交换格式。 JSON采用完全独立于语言的文本格式,使JSON成为理想的数据交换格式,易于阅读和编写,也易于机器分析和生成,在接口数据开发和传输中非常常用。

在Python3中,我们使用内置模块json解码和编码JSON对象。

json模块提供了四个功能:dumps、dump、loads、load

dumps 将数据类型转换为字符串

dump 将数据类型转换为字符串并存储在文件中

loads 将字符串转换为数据类型

load 打开文件,从字符串转换为数据类型

dumps编码

我们利用 dumps 将Python对象编码为 JSON对象 ,当然 dumps 只完成了将序列化为str,并且 dump 必须传输文件描述符,并将序列化的str保存到文件中。

编码字典

importjson
odata={'www':1,'pythontab.com':2,'Python3':3}
jdata=json.dumps(odata)
print(jdata)

示例结果:

{"www":1,"pythontab.com":2,"Python3":3}

编码列表

importjson
ldata=[100,'Python2',{'www':1,'pythontab.com':2,'Python3':3}]
jdata=json.dumps(ldata)
print(jdata)

示例结果:

[100,"Python3",{"www":1,"pythontab.com":2,"Python3":3}]

编码字符串

importjson
sdata='Python3'
jdata=json.dumps(sdata)
print(jdata)

示例结果:

"Python3"

JSON的格式输出

将以下数组转换为标准json格式

importjson
ldata=['Python3',100,{'www':1,'pythontab.com':2,'Python3':3},True]
jdata=json.dumps(ldata,sort_keys=True,indent=4)
print(jdata)

示例结果:

[
"Python3",
100,
{
"Python3":3,
"pythontab.com":2,
"www":1
},
true
]

参数解析:

sort_keys=True 那么字典的输出将按键的顺序排序

indent=4 如果缩进为4,则表示缩进 indent 它是一个非负整数或字符串,所以 JSON 将数组元素和对象成员美化输出为该值指定的缩进等级。

转换关系对照表

以下是Python原始类型向JSON对象的转换对照表:

0e6183092425ea04c82da5f50b865d9.png

loads解码

我们利用 loads 用于解码 JSON对象 。解码结果是相应的 Python对象 类型。当然 loads 只完成反序列化, load 只接收文件描述符,完成读取文件和反序列化。

例如,我们用它来解码上一个示例的数据

importjson
jsondata='''
[
"Python3",
100,
{
"Python3":3,
"pythontab.com":2,
"www":1
},
true
]
'''
ldata=json.loads(jsondata)
print(type(ldata))
print(ldata)

示例结果

<class'list'>
['Python3',100,{'Python3':3,'pythontab.com':2,'www':1},True]

可以看出,我们成功地解码了上一个例子中的JSON对象,最终的解码结果是Python列表中的对象类型,与Python对象JSON对象对照表中的结果一致。

总结

json分析和编码模块json在Python3中使用起来非常简单, 功能也非常齐全,可以完全满足我们的日常需求。

相关文章

Python中lambda表达式的优缺点及使用场景

Python中lambda表达式的优缺点及使用场景

2025-09-29
详解json.dumps中文乱码问题

详解json.dumps中文乱码问题

2025-09-29
Python和单元测试那些事儿

Python和单元测试那些事儿

2025-09-29
Python正则表达式findall函数详解

Python正则表达式findall函数详解

2025-09-29
python入门必会的助手函数:dir()函数

python入门必会的助手函数:dir()函数

2025-09-29
Python中format函数字符串格式化入门

Python中format函数字符串格式化入门

2025-09-29