【发布时间】:2014-07-09 23:44:03
【问题描述】:
我有一个非常大的 json 文件,其中包含多个嵌套键。从我目前所读到的内容来看,如果你这样做:
x = json.loads(data)
Python 会将其解释为字典(如果我错了,请纠正我)。 json 文件中的第四层嵌套包含几个以 ID 号命名的元素,它们都包含一个称为 children 的元素,如下所示:
{"level1":
{"level2":
{"level3":
{"ID1":
{"children": [1,2,3,4,5]}
}
{"ID2":
{"children": []}
}
{"ID3":
{"children": [6,7,8,9,10]}
}
}
}
}
我需要做的是将所有"children" 元素中的所有项目都替换为空,这意味着"children": [] 如果ID 号在名为new_ids 的列表中,然后将其转换回json。我已经阅读这个主题几个小时了,但我还没有找到任何类似的东西来帮助自己。
我正在运行 Python 3.3.3。任何想法都非常感谢!
谢谢!!
编辑
列表:
new_ids=["ID1","ID3"]
预期结果:
{"level1":
{"level2":
{"level3":
{"ID1":
{"children": []}
}
{"ID2":
{"children": []}
}
{"ID3":
{"children": []}
}
}
}
}
【问题讨论】:
-
您遇到了哪些问题?您显然知道如何将 JSON 字符串加载到 Python 对象(是的,它是
dict)。您是否在更改 dict、根据另一个列表进行更改或转换回 JSON 时遇到问题? -
好问题,我不知道如何根据另一个列表进行更改,主要问题是指字典,我确实知道如何根据列表而不是字典.
-
如果您的问题是关于修改 python dicts 并且您已经知道如何处理 JSON 内容,我建议您编辑对 JSON 的引用以解决实际问题。
-
显示
new_ids和预期结果 -
好吧,我不知道为什么不正确。
标签: python json python-3.x