想通过循环获取 json 的内部元素

aqqi

我想与环路接所述内元件alias两者的值dimsmetrics存在于JSON和所附独立dimsListmetricsListPython列表。

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_Dwell']

曼尔8

您可以使用 递归迭代.items()每次您看到内部字典时,您都会进行递归调用,而内部列表会导致列表中每个内部字典的调用。

试试这个:

json_obj = {
    "dataset": "246",
    "dims": {
        "Location": {
            "alias": "Location",
            "format": ""
        }
    },
    "metrics": {
        "ToTal_Dwell": [
            {
                "agg": "sum",
                "format": "",
                "alias": "ToTal_Dwell"
            }
        ]
    },
    "filters": "",
    "limit": "10"
}


def extract_inner_values(d, key):
    results = []
    for k, v in d.items():
        if k == key:
            results.append(v)
        if isinstance(v, dict):
            results.extend(extract_inner_values(v, key))
        if isinstance(v, list):
            for inner_d in v:
                results.extend(extract_inner_values(inner_d, key))
    return results


dimsList = extract_inner_values(json_obj["dims"], "alias")
metricsList = extract_inner_values(json_obj["metrics"], "alias")

print(dimsList)
print(metricsList)

输出:

['Location']
['ToTal_Dwell']

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在元素内部获取元素

来自分类Dev

通过内部值获取数组元素

来自分类Dev

通过请求获取特定的JSON元素

来自分类Dev

AngularJS指令获取内部元素

来自分类Dev

AngularJS指令获取内部元素

来自分类Dev

XQuery:如何跨元素获取内部元素

来自分类Dev

XQuery:如何跨元素获取内部元素

来自分类Dev

使用 Cheerio 获取元素内部的元素

来自分类Dev

jQuery内部通过Json数组进行附加循环

来自分类Dev

PHP通过JSON数组循环并获取键值对

来自分类Dev

循环嵌套的 JSON 元素

来自分类Dev

通过xpath循环获取所有元素

来自分类Dev

从json获取元素

来自分类Dev

从json获取元素

来自分类Dev

通过镜头从树中滤除内部元素

来自分类Dev

获取json内部对象的值

来自分类Dev

PHP Json获取内部数组

来自分类Dev

从 JSON 中获取内部数据

来自分类Dev

Java流-在GroupBy之后获取内部元素

来自分类Dev

如何获取对象内部数组元素的索引?

来自分类Dev

在用户控件内部,获取元素值

来自分类Dev

如何从片段内部的tabhost获取视图或元素?

来自分类Dev

如何获取<iframe>的元素内部<iframe>?

来自分类Dev

如何从embed标签内部获取svg元素?

来自分类Dev

访问 json 对象循环的嵌套/内部循环

来自分类Dev

对象内部的函数不想通过引用改变

来自分类Dev

jQuery如何通过多循环从JSON获取数据

来自分类Dev

Android从JSON数组获取元素

来自分类Dev

Android从JSON数组获取元素