【发布时间】:2020-04-08 00:23:53
【问题描述】:
我通过 json.loads 将 JSON 文件加载为字典:
dict = {
"Area":[
{
"id": "aira-01",
"vis": [
"menu"
"hamburger"
]
},
{
"id": "aira-02"
}
目标是删除整个键和值:“id”:“aira-02”。由于是嵌套字典,所以我写了这个sn-p来访问:
for i in range(len(dict["Area"])):
if dict["Area"][i]["id"] == "aira-02":
del dict["Area"][i]["id"]
最终结果是“id”:“aira-02”被删除,但它有一组剩余的花括号 {},我也想删除。以下是删除 "id": "aira-02" 但不删除花括号时的代码样子:
"Area":[
{
"id": "aira-01",
"vis": [
"menu"
"hamburger"
]
},
{}
此外,由于“id”:“aira-02”应该被删除,剩余的“id”:“aira-01”不应以逗号结尾。下面的版本是最终产品的样子:
dict = {
"Area":[
{
"id": "aira-01",
"vis": [
"menu"
"hamburger"
]
}
处理此问题的最佳方法是什么?是否应该将字典转换为字符串并删除大括号和逗号?
谢谢
【问题讨论】:
-
为什么剩余的
id不应该有一个尾随逗号,如您的最终结果示例中所示? -
您需要添加额外的代码才能从
dict['Area']中删除空字典。
标签: json python-3.x dictionary nested