每个Json元素的Python

时间:2016-07-06 08:35:39

标签: python json

在使用Python解析JSON时遇到一些麻烦,而我并不确定我需要什么语法。

结构看起来像这样

name = (json_data['JsonResultTitle']['Loc']['List'][0]['Events'][0]['Name'])

ListEvents之后的数字都可以更改。

我能够使用丑陋的东西来迭代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

这可能是显而易见的,但我无法看到这样做的正确方法 我真的很感激在正确的方向上轻推。

1 个答案:

答案 0 :(得分:3)

好像你只想要一个嵌套循环。

for item in json_data['JsonResultTitle']['Loc']['List']:
    for event in item['Events']:
        print event['Name']