Python 想要通过循环获取json的acces内部元素吗
我想通过循环访问json中的Python 想要通过循环获取json的acces内部元素吗,python,json,Python,Json,我想通过循环访问json中的dims和metrics的内部元素alias值,并附加在单独的dimsList和metricsListpython列表中 json_obj = { "dataset":"246", "dims":{ "Location":{ "alias":"Location", "format":"" } }, "metrics":{ "ToTal_Dwell":[
dims
和metrics
的内部元素alias
值,并附加在单独的dimsList
和metricsList
python列表中
json_obj =
{
"dataset":"246",
"dims":{
"Location":{
"alias":"Location",
"format":""
}
},
"metrics":{
"ToTal_Dwell":[
{
"agg":"sum",
"format":"",
"alias":"ToTal_Dwell"
}
]
},
"filters":"",
"limit":"10"
}
预期结果类似于
dimsList=['Location']
和metricsList=['ToTal\u Dwell']
您可以使用.items()
递归迭代。每次看到一个内部dict时,都会进行递归调用,而一个内部列表会根据列表中的每个内部dict进行调用
试试这个:
json_obj={
“数据集”:“246”,
“昏暗”:{
“地点”:{
“别名”:“位置”,
“格式”:”
}
},
“指标”:{
“总停留时间”:[
{
“agg”:“sum”,
“格式”:“,
“别名”:“总驻留时间”
}
]
},
“过滤器”:“,
“限制”:“10”
}
def提取_内部_值(d,键):
结果=[]
对于d.项()中的k,v:
如果k==键:
结果.追加(五)
如果存在(v,dict):
结果.扩展(提取内部值(v,键))
如果存在(v,列表):
对于v中的内螺纹:
结果.扩展(提取内部值(内部值,键))
返回结果
dimsList=提取内部值(json_obj[“dims”],“别名”)
metricsList=提取内部值(json\u obj[“度量”],“别名”)
打印(dimsList)
打印(公制列表)
输出:
['Location']
['ToTal_Dwell']
您应该创建一个链接,以便为您的问题获得最佳帮助。目前,你的问题相当模糊,没有给出你需要什么的真实背景。