文章目录
Json库的概述
Json库的解析
Python 编码为 JSON 类型转换对应表:
JSON 解码为 Python 类型转换对应表:
实例
Json库的概述
json库主要包括两类函数:操作类函数和解析类函数
- 操作类函数主要完成外部JSON格式和程序内部数据类型之间的转换功能
- 解析类函数主要用于解析键值对内容。
Json库的解析
dumps()和loads()分别对应编码和解码功能。
![](https://img-blog.csdnimg.cn/img_convert/648ca431a5e27ae0078a4d52d9acf677.png)
函数 |
描述 |
json.dumps(obj, sort_keys=False, indent=None) |
将Python的数据类型转换为JSON格式,编码过程
- 如果 sort_keys 是 true(默认为
False ),那么字典的输出会以键的顺序排序。
- 如果 indent 是一个非负整数或者字符串,那么 JSON 数组元素和对象成员会被美化输出为该值指定的缩进等级。 如果缩进等级为零、负数或者
"" ,则只会添加换行符。 None (默认值) 选择最紧凑的表达。 使用一个正整数会让每一层缩进同样数量的空格。 如果 indent 是一个字符串 (比如 "\t" ),那个字符串会被用于缩进每一层。
|
json.loads(string) |
将JSON格式字符串转换为Python的数据类型,解码过程 |
json.dump(obj, fp, sort_keys=False, indent=None) |
与dumps()功能一致,输出到文件fp |
json.load(fp) |
与loads()功能一致,从文件fp读入 |
Python 编码为 JSON 类型转换对应表:
Python |
JSON |
dict |
object |
list, tuple |
array |
str |
string |
int, float, int- & float-derived Enums |
number |
True |
true |
False |
false |
None |
null |
JSON 解码为 Python 类型转换对应表:
JSON |
Python |
object |
dict |
array |
list |
string |
str |
number (int) |
int |
number (real) |
float |
true |
True |
false |
False |
null |
None |
实例
>>>dt = {'b':2,'c':4,'a':6}
>>>s1 = json.dumps(dt) #dumps返回JSON格式的字符串类型
>>>s2 = json.dumps(dt,sort_keys=True,indent=4)
>>>print(s1)
{"c": 4, "a": 6, "b": 2}
>>>print(s2)
{
"a": 6,
"b": 2,
"c": 4
}
>>>print(s1==s2)
False
>>>dt2 = json.loads(s2)
>>>print(dt2, type(dt2))
{'c': 4, 'a': 6, 'b': 2} <class 'dict'>
![](https://img-blog.csdnimg.cn/3bac1427f03a40f9afbd4442ab089026.webp?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAV19jaHVhbnFp,size_20,color_FFFFFF,t_70,g_se,x_16)