序列化
把变量从内存中变成可存储或传输的过程称之为序列化;
把变量从序列化的对象重新读到内存里,称之为反序列化。
json.dumps()
对内容进行编码(序列化),返回str
- ensure_ascii=False:返回值可以包含非ASCII字符
- indent=4:格式化输出
json.loads()
把json反序列化成python对象 ```python import json
data = { ‘name’: ‘zaygee’, ‘age’: ‘24’ } json_info = json.dumps(data) print(“原始数据:”, repr(data)) print(“json对象:”, json_info) # 字典类型转化为json对象 data2 = json.loads(json_info) print(“data2[‘name’]:”, data2[‘name’]) # json对象转化为字典类型
假如处理的是文件,可以使用json.dump和json.load来编码和解码
```python
import json
# 写入数据
with open('test.json','w') as f:
json.dump(data, f)
# 读取数据
with open('test.json','r') as f:
json.load(f)
将一个类序列化
通过dumps的default参数,将任意一个对象变成可序列化为JSON的对象。
class Student:
def __init__(self, name, age):
self.name = name
self.age = age
s = Student("zaygee", 25)
print(json.dumps(s, default=lambda obj: obj.__dict__))