【问题标题】:Python convert part of object to jsonPython将部分对象转换为json
【发布时间】: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,但我只想将其中一些属性(例如,tagpathhost)转换为 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。

标签: python json


【解决方案1】:

也许只是将那些字段添加到需要的转储中。

def dump_to_json(self):
    return json.dumps({'tag': self.tag, 'path': self.path, 'host': self.host})

【讨论】:

  • 是的,这行得通。
  • 如果您遇到此问题,并且收到“(”没有右括号错误,请检查括号“{”和“}”是否正确放置。
猜你喜欢
  • 2018-01-08
  • 2018-10-11
  • 2020-10-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-16
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多