【问题标题】:How to select fields on different indents in json output如何在json输出中选择不同缩进的字段
【发布时间】:2020-02-10 14:19:42
【问题描述】:

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

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。
  • @MisterMiyagi 我让它的格式更好。这有帮助吗?

标签: python json python-3.x python-requests field


【解决方案1】:

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

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

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

1 是您的 JSON 所在的嵌套列表的编号。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-03-16
    • 2012-06-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-13
    • 2017-03-20
    相关资源
    最近更新 更多