序列化json对象中的自定义对象

用户名

我正在使用第三方python库,该库返回列表和字典中的一些数据(JSON格式)。例如,这是一个示例条目:

data = [{'a': 1, 'b': 80, 'c': 42, 'd': [{'r': 0, 's': '1', 'u': 5}], 'id': 10, 'k': 60, 'v': 0, 'm': 
{'ty': 'djp', 'nr': '10', 'bc': Adder('179'), 'in': 3}}, {'a': 1, 'b': 70, 'c': 42, 'd': [{'r': 0, 's': 
'1', 'u': 5}], 'y': 10, 'k': 60, 'v': 0, 'm': {'ty': 'djp', 'dx': '10', 'tx': Adder('179'), 'in': 3}}]

我的问题是作为对象的“ Adder”类。其他一切都只是字符串。

因此,当我这样做时:

json.dumps(data)

它导致错误消息:

加法器('179')不可JSON序列化。

我不在乎序列化此Adder类,因此,如果可能的话,我想以某种方式使其成为一个字符串,例如“ Adder(179)”。是否可以使转储功能正常工作?Class Adder不是我自己的,也许我可以使其序列化或通过编辑源代码或其他内容告诉它如何处理?任何简单的方法都可以。

schwobaseggl

只需指定一个自定义编码器类即可

class RobustEncoder(json.JSONEncoder):
    def default(self, o):
        try:
            return super(RobustEncoder, self).default(o)
        except TypeError:
            return str(o)    

json.dumps(data, cls=RobustEncoder)

关键字参数cls记录在的文档中json.dump

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Django:自定义对象json序列化

Ktor自定义json对象反序列化

如何自定义JSON对象序列化?

自定义类的对象列表的json序列化

Spring Boot - 使用自定义对象数组 JSON 序列化自定义对象

如何在自定义getter中序列化JSON对象?

自定义对象列表json在python中序列化

Django,在自定义json中插入两个序列化的对象模型

杰克逊自定义序列化对象

序列化对象的自定义$ type值

GSON 序列化因自定义对象而失败

GSON:自定义对象反序列化

自定义对象序列化与PreserveReferencesHandling

Jackson对多态对象的自定义反序列化

统一自定义对象列表的序列化

如何自定义java对象的序列化

自定义JSON编码器引发“对象无法JSON序列化”错误

无法使用Scala Circle json库中的LocalDateTime的自定义解码器反序列化对象

如何在JSON.NET中实现自定义JsonConverter以反序列化基类对象列表?

JSON.stringify()-对象的自定义序列化程序

自定义Json序列化器,用于深层嵌套对象

JSON 使用嵌套的自定义对象序列化 dict

C#json.net子对象的自定义序列化

使用 JQuery 序列化和反序列化自定义对象数组

继承 NSMutableDictionary 并用 NSKeyedArchiver 序列化的自定义对象无法反序列化

NSMutableArray的自定义类对象的序列化和反序列化

如何序列化自定义对象列表并在Android中的onRestoreInstanceState上恢复它?

在自定义JsonConverter中反序列化嵌套对象列表

如何使用python中的自定义字段将对象序列化为json