import json
class Student(object):
def __init__(self,name,age,score):
self.name = name
self.age = age
self.score = score
s = Student('Bob',20,88)
def studentparse(std):
return {
"name":std.name,
"age":std.age,
"score":std.score
}
# 将对象转化为json1
print(json.dumps(s,default=studentparse))
# 将对象转化为json2
print(json.dumps(s,default=lambda obj:obj.__dict__))
# 定义反序列化的工具方法
def tranlate(d):
return Student(d['name'],d['age'],d['score'])
# 定义一个json字符串
json_str = '{"score": 88, "name": "Bob", "age": 20}'
# 将json转化为对象
print(json.loads(json_str,object_hook=tranlate))
运行的结果: