如何 select 字段在 json 输出中的不同缩进

How to select fields on different indents in json output

我试图在 JSON 输出中提取两个缩进不同的字段。我如何 select 将它们都输出给我?

JSON 数据示例:

],
    "hostName": "Test123",
    "hostNames": [
        {
            "name": "Test",
            "source": "other"
        },
        {
            "name": "Test",
            "source": "other"
        }
    ],
    "id": 123,
    "ids": [
        {
            "id": "111",
            "source": "none"
        },

我尝试使用的代码示例:

    for i in data["hostName", "id"]:
        print(i) 

错误:

KeyError: ('hostName', 'id')

有多个 ID 字段,但我只想要 ID 为 123 的字段,这些 ID 会有所不同,因此我无法对其进行硬编码以搜索 id = 123。相反,我需要它来引用特定的缩进在此示例中,id 为 123。

输出应该是这样的:

hostName : Test123,  id : 123

您需要向我们展示您要解析的完整 JSON,因为从前 2 个字符来看,它看起来格式不正确 JSON ], .

您需要删除上面 json 中的所有内容,或者找到 hostname 之前的值并执行此操作,

for i in data[1]["hostName", "id"]:
       print(i) 

其中 1 是您的 JSON 似乎所在的嵌套列表的编号。