# -*- coding: utf-8 -*- # @File : json_demo.py # @Date : 2018-06-04 # @Author : Peng Shiyu # 定制序列化或反序列化的规则 import json class Student(object): def __init__(self, name, age): self.name = name self.age = age if __name__ == '__main__': s = Student("Tom", 23) # 序列化 ret = json.dumps(s, default=lambda obj: obj.__dict__) print(ret) # {"name": "Tom", "age": 23} # 反序列化 def obj2student(d): return Student(d["name"], d["age"]) s2 = json.loads(ret, object_hook=obj2student) print(s2) # <__main__.Student object at 0x101c7e518>