0

我有以下json,我想在python中加载它而不覆盖多个索引:

{
  "data": [
    {
      "HOSTNAME": "test",
      "STATUS": "200",
      "TYPE": "linux",
      "CPU": {
        "SRC": "src",
        "LINK": "link",
        "LABEL": "cpu"
      },
      "CPU": {
        "SRC": "src",
        "LINK": "link",
        "LABEL": "cpu"
      },
      "MEMORY": {
        "SRC": "src",
        "LINK": "link",
        "LABEL": "cpu"
      }
    }
  ]
}

我在用着:

 json.loads("HERE COMES THE JSON")

结果覆盖索引,例如:

 {
 data:
     [
     {
      "HOSTNAME": "test",
      "STATUS": "200",
      "TYPE": "linux",
      "CPU": {
             "SRC": "src",
             "LINK": "link",
             "LABEL": "cpu"
             },
      "MEMORY": {
                "SRC": "src",
                "LINK": "link",
                "LABEL": "cpu"
                }
      }
      ]
 }

请注意,这只是一个 CPU。

有什么办法不覆盖它吗?

4

1 回答 1

3

该文件不是有效的 JSON,您无法使用该json模块以您想要的方式对其进行解析。

更新:object_pairs_hook在参数 to的帮助下,这似乎是可能的json.load(s)。有关示例,请参阅SimpleJson 处理相同命名实体

于 2013-10-01T11:48:22.133 回答