如何从列表中动态生成json路径

时间:2017-06-17 20:57:36

标签: python json list

假设我有遍历python数据结构的函数,并返回希望以列表格式解析的数据的所有路径:

['section', 'section', 'section', 1, 'name', ]
['section', 'section', 'section', 1]
['section', 'section']

然后我有另一个函数迭代通过相同的json来解析数据

with open(json_file) as data_file:
json_202 = data.load(data_file)



def parseJson(*argv) :
    for arg in argv:
       #do stuff

section1 = json_202["section"]["section"]["section"][1]["name"]
section2 = json_202["section"]["section"]["section"][1]
section3 = json_202["section"]

我这样称呼这个函数:

parseJson(section1, section2, section3)

将第一个函数的列表结果动态转换为匹配第二个函数而不是硬编码section1section2section3

1 个答案:

答案 0 :(得分:0)

以下代码应执行相同的操作,但以其他方式执行:

def parse_json_by_path(pathes, data):
    for path in pathes:
        item = data
        for key in path:
            item = item.get(key)
        # do stuff


    parse_json_by_path([["section", "section","section", 1, "name",], 
                        ['section', 'section', 'section', 1],
                        ['section', 'section']], json_202)