我有一个JSON对象,结构如下:
{
"org_name": "1",
"available": True,
"orgs": [
{
"org_name": "2",
"available": False,
"orgs": []
},
{
"org_name": "3",
"available": False,
"orgs": []
},
{
"org_name": "4",
"available": True,
"orgs": []
},
{
"org_name": "5",
"available": False,
"orgs": [
{
"org_name": "6",
"available": False,
"orgs": []
},
{
"org_name": "7",
"available": False,
"orgs": []
},
{
"org_name": "8",
"available": False,
"orgs": [
{
"org_name": "9",
"available": False,
"orgs": []
},
{
"org_name": "10",
"available": True,
"orgs": []
}
]
}
]
}
]
}
我想解析这个JSON数据并得到类似于下面的输出:
{
"org_name": "1",
"orgs": [
{
"org_name": "4",
"orgs": []
},
{
"org_name": "5",
"orgs": [
{
"org_name":"8",
"orgs":[
{
"org_name":"10"
}
]
}
]
}
}
这些条件是:
- 如果
available
是True
,则输出应包含它的org_name
和它的orgs
; - 如果
available
为False
,则应将其删除; - 如果子组织
org
具有它的available
True
,则应该存在完整的父组织。
我很难找到一个逻辑来获得输出。
如有任何帮助,
1条答案
按热度按时间6fe3ivhb1#
您需要编写一个简单的递归函数,该函数将检查JSON对象是否可用或其任何子节点是否可用:
用法:
输出:
用法:
输出: