json.dump文件转储之前的对象重命名属性

2024-06-25 23:13:33 发布

您现在位置:Python中文网/ 问答频道 /正文

我目前正在使用json.dumps()将我的自定义对象序列化为JSON字符串。在

j = json.dumps(object, sort_keys=True, indent=4, separators=(',', ': '),
               default=lambda o: o.__dict__)

我的对象有一个名为_machines的属性。因此,当我们将对象转换为字符串时,字符串中的一个属性称为_machines。有没有办法告诉json.dump()我们希望这个属性被称为machines,而不是{}?在


Tags: 对象字符串jsontruedefault属性序列化object
1条回答
网友
1楼 · 发布于 2024-06-25 23:13:33

您将不得不使用更详细的默认设置:

json.dumps(object, sort_keys=True,indent=4, separators=(',', ': '), 
           default=lambda o: {'machines' if k == '_machines' else k: v for k, v in o.__dict__.iteritems()})

为了可读性起见,最好将其作为一个单独的函数:

^{pr2}$

在这里,serialize_custom_object()更加明确地表示您正在重命名结果中的一个键。在

相关问题 更多 >