Python 3.x 删除嵌套json响应python中的对象

Python 3.x 删除嵌套json响应python中的对象,python-3.x,Python 3.x,此json文件已将“dbg_信息”、“状态”、“开始元素”、“num_元素”等嵌套为对象。我希望递归地遍历json并递归地删除具有此列表中提到的名称的对象。[“dbg_信息”、“状态”、“开始元素”、“num_元素”] 我的Json: { "status": "OK", "start_element": 0, "num_elements": 100, } ] }

此json文件已将“dbg_信息”、“状态”、“开始元素”、“num_元素”等嵌套为对象。我希望递归地遍历json并递归地删除具有此列表中提到的名称的对象。[“dbg_信息”、“状态”、“开始元素”、“num_元素”]

我的Json:

{
    "status": "OK",
    "start_element": 0,
    "num_elements": 100,
   
        }
    ]
}
如何删除嵌套的json元素?我无法设置相同的逻辑。
谢谢

您可以使用递归函数

import json

d = json.loads(json_data)
lst = ["dbg_info","status","start_element","num_elements"]

def fun(d, lst=[]):
    if isinstance(d, dict):
        for k, v in list(d.items()):
            d.pop(k) if k in lst else fun(v)
    elif isinstance(d, list):
        map(fun, d)

fun(d, lst)

可以使用递归函数

import json

d = json.loads(json_data)
lst = ["dbg_info","status","start_element","num_elements"]

def fun(d, lst=[]):
    if isinstance(d, dict):
        for k, v in list(d.items()):
            d.pop(k) if k in lst else fun(v)
    elif isinstance(d, list):
        map(fun, d)

fun(d, lst)

您发布的json在解析时抛出了错误:@pravinmishra仍然不工作。你能解析你发布的json吗?你发布的json在解析时抛出了错误:@pravinmishra仍然不工作。您是否能够解析您发布的json?非常感谢。我应该在“d”中传递什么,函数不会返回任何内容。另外,如果删除最后一个元素,则“将出现”。@pravinmishra现在更新了答案检查。最后一个元素是什么?知道了,但它不返回任何内容。@pravinmishra不需要返回函数中所做的更改反映在字典
d
中,因此需要
retutn
非常感谢。我应该传递什么“d”,函数不返回任何内容。另外,如果最后一个元素被删除,“将出现。@pravinmishra现在更新了答案检查。还有,逗号为什么重要的最后一个元素是什么?明白了,但它不返回任何内容。@pravinmishra不需要返回函数中所做的更改,反映在字典
d
中,因此需要
retutn