自定义对象和json互转
admin
2023-07-16 16:22:37
0

       有一次写side project时,用json.dumps()方法对UserInfo对象进行序列化,却报错了。Object type of UserInfo is not JSON serializable.经过一番探索发现,json.dumps()方法只能序列化简单对象,也就是python自带的一些数据类型。比如dict,list,tuple,str,int,long,float等等。而UserInfo是我自定义的对象,也就不能序列化了。使用对象.__dict__即可把对象转成字典。(我这里是UserInfoDict = UserInfo.__dict__),然后再用json.dumps()方法序列化就可以了。顺便也查了下json转自定义对象的方法。

       json转自定义对象

import json
 
class Ook():
    name=str
    def __init__(self, d):
        self.__dict__ = d
 
if __name__ == '__main__':
    
    data = {'name' : 'ACME','shares' : 100,'price' : {'name' : 'ACME'}}
    json_str = json.dumps(data) 
    result = json.loads(json_str, object_hook=Ook)
    print(result.name)
    print(result.shares)
    print(result.price.name)


相关内容

热门资讯

民进党前秘书长欠台糖公司1.7... 【环球网报道】据台湾中时新闻网报道,民进党前秘书长吴乃仁在担任台糖公司董事长期间,涉及贱卖台糖土地案...
3岁小孩不知妈妈去世,因想念每... “妈妈去国外工作了,很爱你们,只是暂时回不了家。”面对三岁大宝日复一日的寻母思念,湖北武汉的李先生只...
内塔尼亚胡险遭无人机袭击,以媒... 尽管黎以停火协议已达成并开始实施,但零星交火仍在持续。以色列总理内塔尼亚胡刚离开北部边境地区,疑似真...
美媒:拜登家族不肯消失,民主党... 美国将于今年年底举行中期选举,民主党人有望夺回众议院。然而拜登家族的高调举动,使得民主党再次分心,一...
对日本新型军国主义的“新型抗战... 【文/观察者网专栏作者 江宇舟】日本这几个月的对华行为,已经是全方位的恶声、恶气、恶行、恶法:自卫队...
“这里没有口号,只有实干”——... 在黄河科技学院,有这样一个地方:没有惊天动地的口号,没有花里胡哨的“形象工程”,有的只是实验室里彻夜...
AI决定6G成败关键? 专家称... 中经记者 陈佳岚 广州报道 “6G与AI的增强融合,这部分OPPO是全力投入的。而与AI的融合,也是...
自贡:“智造”为核,无人车跑出... 盐都初夏清晨,和勤劳的人们一同早起的,还有一辆辆造型新颖的无人配送车、清扫作业车。市民杨先生对此颇有...
黄仁勋不装了:所有芯片市场我全... 来源:市场资讯 (来源:科技头版) 英伟达要当AI时代唯一的王。 出品 | 科技头版 作者 | 青...
Ducky展出平价磁轴键盘OK... IT之家 6 月 3 日消息,键盘品牌 Ducky(吉利鸭)在 COMPUTEX 2026 上带来了...