json 模块
一. JSON简介
1.1 概述
JSON(JavaScript Object Notation, JS对象简谱)是一种轻量级的数据交换格式。它基于 ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
1.2 特点
json独立于语言 json具有自我描述性,更加理解 json比xml更小、更快、更易理解。
二. 方法
2.1 json.dumps() ---> 序列化
将python数据类型转换成json格式字符串
import json
my_dict = {'name': '孙悟空', 'age': 28}
print(my_dict, type(my_dict)) # {'name': '孙悟空', 'age': 28} <class 'dict'>
res = json.dumps(my_dict) # 对 python 字典进行序列化
print(res, type(res)) # {"name": "\u5b59\u609f\u7a7a", "age": 28} <class 'str'>
2.2 json.loads() ---> 反序列化
将json格式字符串转换成对应的数据类型
import json
my_dict = '{"name": "孙悟空", "age": 28}'
print(my_dict, type(my_dict)) # {"name": "孙悟空", "age": 28} <class 'str'>
res = json.loads(my_dict) # 对 python 字典进行反序列化
print(res, type(res)) # {'name': '孙悟空', 'age': 28} <class 'dict'>
2.3 json.dump(),json.load()
进行文件操作
# 导入模块
import json
d = {'username': 'jason', 'pwd': 123}
# 将字典写入文件,并序列化
with open(r'a.txt', 'w', encoding='utf8') as f:
json.dump(d, f)
# 将文件内容获取出来, 并反序列化
with open(r'a.txt', 'r', encoding='utf8') as f:
data = json.load(f)
print(data, type(data)) # {'username': 'jason', 'pwd': 123} <class 'dict'>