繁体   English   中英

如何在 ZA7F5F35426B927411FC3231B563821 中将 Class Object 转换为 JSON

[英]How to convert Class Object to JSON in Python

import json

class Abc:

    firstName = ''
    secondName = ''

obj = Abc()

obj.firstName = 'Raj'

res = json.dumps(obj, default=lambda o: o.__dict__)

print(res)

Output: {"firstName": "Raj"}

但我需要像这样的 Output

{"firstName": "Raj", "secondName": ""}

任何解决方案?

首先,从正确的 class 定义开始。

class Abc:
    def __init__(self, first='', second=''):
        self.firstName = first
        self.secondName = second

然后定义一个合适的JSONEncoder子类:

import json


class AbcEncoder(json.JSONEncoder):
    def default(self, obj):
        if isinstance(obj, Abc):
            return {"firstName": obj.firstName, "secondName": obj.secondName}
        return super().default(obj)


obj = Abc("Raj")
res = json.dumps(obj, cls=AbcEncoder)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM