假设我有遍历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)
将第一个函数的列表结果动态转换为匹配第二个函数而不是硬编码section1
,section2
,section3
答案 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)