我有以下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。
有没有办法不覆盖它?
答案 0 :(得分:3)
该文件无效JSON,您无法使用json
模块以您希望的方式对其进行解析。
更新:似乎可以借助object_pairs_hook
参数来json.load(s)
;请参阅SimpleJson handling of same named entities以获取示例。