在使用Python解析JSON时遇到一些麻烦,而我并不确定我需要什么语法。
结构看起来像这样
name = (json_data['JsonResultTitle']['Loc']['List'][0]['Events'][0]['Name'])
List
和Events
之后的数字都可以更改。
我能够使用丑陋的东西来迭代List
:
namecounter = 0
try:
name = (json_data['JsonResultTitle']['Loc']['List'][namecounter]['Events'][0]['Name'])
namecounter +=1
except:
print "stop"
我可以在技术上嵌入另一个循环,直到Events
计数器的另一个异常,但必须有一个更简洁的方法来执行此操作。
像这样的东西可能更整洁但是它仍然不会让我成为正确的做事方式:
counter = 0
secondcounter = 0
for i in json_data['JsonResultTitle']:
try:
print i['Loc']['List'][counter]['Events'][0]['Name']
except:
print "no first"
counter +=1
try:
print i['Loc']['List'][counter]['Events'][secondcounter]['Name']
except:
print "no second"
secondcounter +=1
这可能是显而易见的,但我无法看到这样做的正确方法 我真的很感激在正确的方向上轻推。
答案 0 :(得分:3)
好像你只想要一个嵌套循环。
for item in json_data['JsonResultTitle']['Loc']['List']:
for event in item['Events']:
print event['Name']