自定义对象和json互转

  

,,,,有一次写项目时,用json.dumps()方法对用户信息对象进行序列化,却报错了.Object类型of 用户信息不是JSON序列化。经过一番探索发现,json.dumps()方法只能序列化简单对象,也就是python自带的一些数据类型。比如dict、列表、元组,str, int,长,浮动等等。而用户信息是我自定义的对象,也就不能序列化了。使用对象。__dict__即可把对象转成字典。(我这里是UserInfoDict=UserInfo.__dict__),然后再用json.dumps()方法序列化就可以了。顺便也查了下json转自定义对象的方法。

,,,,json转自定义对象

import  json   ,   class 书():   ,,,的名字=str   ,,,def  __init__(自我,,d):   ,,,,,,,self.__dict__ =d   ,   if  __name__ ==, & # 39; __main__ # 39;:   ,,,,   ,,,data =,{& # 39;名字# 39;,:,& # 39;acme # 39;, & # 39;股票# 39;,:,100 & # 39;价格# 39;,,,{& # 39;名字# 39;,:,& # 39;acme # 39;}}   ,,,json_str =, json.dumps(数据),   ,,,result =, json.loads (json_str, object_hook=的书)   ,,,印刷(result.name)   ,,,印刷(result.shares)   ,,,印刷(result.price.name)


自定义对象和json互转