【发布时间】:2022-01-17 23:27:46
【问题描述】:
我有一个 Python 对象,看起来像:
import json
class ExampleObject():
def __init__(self):
super().__init__()
self.tag = ''
self.path = ''
self.host = ''
self.access = ''
#self.uuid = ''
self.attribute = ''
def dump_to_json(self):
return json.dumps(self.__dict__)
通过使用 dump_to_json,我可以将整个对象转换为 JSON,但我只想将其中一些属性(例如,tag、path、host)转换为 JSON,而忽略其余部分。 . 有没有一种简单的方法来挑选我们可以发送到 JSON 的对象变量?
示例代码:
x = ExampleObject()
x.tag = '/tag/exampletagName'
x.path = '/prj/its/a/path/tag/exampletagName.fil'
x.host = 'server-host-name'
x.access = 'private'
jsonText = x.dump_to_json()
放:
{"tag":"/tag/exampletagName", "path":"/prj/its/a/path/tag/exampletagName.fil", "host":"server-host-name","access":"private"}
我想要
{"tag":"/tag/exampletagName", "path":"/prj/its/a/path/tag/exampletagName.fil", "host":"server-host-name"}
有什么建议吗?
【问题讨论】:
-
hmm,您在创建类对象后设置属性是否有特定原因?我在想将参数传递给
__init__方法可能更容易。 -
@rv.kvetch,为了简单起见,我在这里做了,但在我的需要中,该对象是从几个不同的来源填充的,并且每个来源都保证是不完整的。缺少大约 4000 行其他代码,昨天才决定从 Excel、记事本等转移到 JSON。