Python 递归嵌套json对象
我想在python中递归以下嵌套的json字符串Python 递归嵌套json对象,python,python-3.x,Python,Python 3.x,我想在python中递归以下嵌套的json字符串 { "hierarchy": { "record": { "id": 1, "record": [ { "id": 2, "record": [ { "id": 3, "record": [ { "id": 4
{
"hierarchy": {
"record": {
"id": 1,
"record": [
{
"id": 2,
"record": [
{
"id": 3,
"record": [
{
"id": 4,
"record": []
},
{
"id": 5,
"record": []
}
]
}
]
},
{
"id": 6,
"record": [
{
"id": 7
}
]
}
]
}
},
"type": "record"
}
并得到如下结果
record_field id parent_id
=============================
record 1 null
record 2 1
record 3 2
record 4 3
record 5 3
record 6 1
record 7 6
我正在使用递归函数,但尚未成功获得预期结果。任何解决方案的帮助都将是巨大的。感谢它提供的帮助链接。我在《屈服于》中错过了
请,也包括您的尝试。检查
def iter_cls(parentId, obj):
if (len(obj)>0):
for obj_item in obj:
yield (parentId, obj_item.get("id"), obj_item.get("classifKey"))
yield from iter_cls(obj_item.get("id"), obj_item.get("record"))
data = json.loads(str)
cls_data = data["hierarchy"]
top_cls = cls_data["record"]
top_cls_id = top_cls["id"]
l = ("{0}|{1}|{2}".format(ParendID,id,name)
for (pid, id, name, clevel) in iter_cls(top_cls_id,top_cls["record"])
)