Python json序列化時default/object_hook指定函數處理


在Python中,json.dumps函數接受參數default用於指定一個函數,該函數能夠把自定義類型的對象轉換成可序列化的基本類型。json.loads函數接受參數objec_thook用於指定函數,該函數負責把反序列化后的基本類型對象轉換成自定義類型的對象。

boy1 = boy('Will', 20)

#default method for decode
def boydefault(obj):
    if isinstance(obj, boy):
        return {'name': obj.name, 'age': obj.age}
    return obj;

def boyhook(dic):
    print('test')
    if dic['name']:
        return boy(dic['name'], dic['age'])
    return dic

boy_encode_str = json.dumps(boy1, default=boydefault)
new_boy = json.loads(boy_encode_str, object_hook=boyhook)
print(boy_encode_str)
print(new_boy)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM