Python中json的用法
import json d1 = {'name':'bob', 'job':'IT', 'age':30}
# 以字符串形式打印
s = json.dumps(d1) print(s)
# 保存到文件
with open('d1.txt', 'w') as f: json.dump(d1, f)
# 载入
print(json.loads(s))
# 从文件读取
with open('d1.txt', 'r') as f: print(type(json.load(f)))
# 类的序列化
class Student: def __init__(self,name,age,score): self.name = name self.age = age self.score = score def s2d(s): return { 'name':s.name, 'age':s.age, 'score':s.score } s = Student('bob', 20, 88) class_str = json.dumps(s, default=s2d) print(json.loads(class_str))
# 通用方法
print(json.dumps(s, default=lambda obj: obj.__dict__))
# 保存到文件
with open('d1.txt', 'w') as f: f.write(json.dumps(s, default=s2d))
# 读取
with open('cl.txt', 'r') as f: json_str = json.load(f, object_hook=d2s) print(json_str)