我不能对这个问题束手无策!我使用以下代码将JSON文件转换为python中可读的格式:
jsonDict = json.loads(jsonFile.read())
x = self.searchJSON('search_term', jsonDict)
然后使用这个递归函数在字典中循环查找所需的键
def searchJSON(self, searchTerm, di=None):
for k in di:
if k == searchTerm:
return di[k]
if isinstance(k, dict):
self.searchJSON(searchTerm, k)
elif isinstance(k, list):
self.searchJSON(searchTerm, k[0])
elif isinstance(di[k], list) or isinstance(di[k], dict):
self.searchJSON(searchTerm, di[k])
使用这个,我可以找到我想要的价值-没问题。。但是我需要返回函数外部的值
当我添加退货时:
def searchJSON(self, searchTerm, di=None):
for k in di:
if k == searchTerm:
return di[k]
if isinstance(k, dict):
return self.searchJSON(searchTerm, k)
elif isinstance(k, list):
return self.searchJSON(searchTerm, k[0])
elif isinstance(di[k], list) or isinstance(di[k], dict):
return self.searchJSON(searchTerm, di[k])
函数遇到空列表时停止运行。我花了一整天的时间想弄明白这一点,这是我能得到的最接近返回值的结果
试用(更新版):
相关问题 更多 >
编程相关推荐