首页 > 解决方案 > 删除嵌套json响应python中的对象

问题描述

这个 json 文件嵌套了 "dbg_info","status","start_element","num_elements" 等作为对象。我想递归地遍历 json 并递归地删除具有此列表中提到的名称的对象。["dbg_info","status ","start_element","num_elements"].在 python 中。

我的杰森:

{
    "status": "OK",
    "start_element": 0,
    "num_elements": 100,
   
        }
    ]
}

如何删除嵌套的 json 元素?我无法设置相同的逻辑。谢谢

标签: python-3.x

解决方案


您可以使用递归函数

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)

推荐阅读