当前大语言模型比较火热,很多数据是以json格式进行数据传递的。python包中的json包就是一个处理Json格式数专业包。
本文主要介绍这个包中的四个函数,dump,dumps,load,loads
序列化为Json
dump:将Python对象序列化为Json文件
案例
我们有如下数据,需要将其序列为Json文件,并将其写入文件对象中。其中有两个参数是必须要传递给dump的:
- 要序列化的对象
- 目标文件对象
python
import json
data = {'name': 'ZhangSan', 'age': 30, 'city': 'ShenZhen'}
with open('data.json', 'w', encoding="utf-8") as f:
json.dump(data, f)
dumps: 将python对象序列化为Json字符串
dumps:对dump string的缩写。
dumps函数不需要写入文件,而是将Json表示的数据作为字符串返回。他仅接受一个参数:要序列化的对象,目标文件对象。
案例:
将字典输出为Json字符串
python
import json
data = {'name': 'Li Lei', 'age': 32, 'city': 'ShenZhen'}
json_string = json.dumps(data)
print(json_string) # 输出: '{"name": "Li Lei", "age": 32, "city": "ShenZhen"}'
将Json转化为python对象
从Json文件中读取数据,并将其解析成Python对象
案例:
从Json文件中读取数据,并将其解析成Python对象。需要传递一个文件对象。
python
import json
with open('data.json', 'r') as f:
data = json.load(f)
print(data)
将Json字符串解析为Python对象
它是load string的缩写,就字面含义而言,loads函数用于将Json字符串解析为Python对象
案例:
python
import json
json_string = '{"name": "ZhangSan", "age": 30, "city": "ShenZhen"}'
data = json.loads(json_string)
print(data) # 输出: {'name': 'ZhangSan', 'age': 30, 'city': 'ShenZhen'}