擅长:python、mysql、java
<p>问题是没有将递归调用分配给result:</p>
<pre><code>def json_scan(json_obj, key):
result = None
for element in json_obj:
if str(element) == key:
result = json_obj[element]
else:
if type(json_obj[element]) == DictType:
result = json_scan(json_obj[element], key)
elif type(json_obj[element]) == ListType:
result = json_scan(element, key)
return result
</code></pre>
<p>另一个问题是你的扫描对列表不起作用-<code>json_obj[element]</code>只对dicts有效-但是由于你的数据没有列表,所以它现在可以工作。您应该完全删除列表处理(除非您确实有列表,否则算法需要更改)。在</p>