每个Json元素的Python

2024-04-24 08:45:07 发布

您现在位置:Python中文网/ 问答频道 /正文

用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

这可能是显而易见的,但我看不出正确的方法。
我真的很感激你朝着正确的方向轻推。你知道吗


Tags: 方法namejsondatacountereventsloclist
1条回答
网友
1楼 · 发布于 2024-04-24 08:45:07

似乎你只是想要一个嵌套的循环。你知道吗

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

相关问题 更多 >