我的语法错误。解析Json / For-loop

时间:2015-07-15 18:40:03

标签: json python-2.7 parsing for-loop syntax

我试图循环播放json响应,保存所有" video_urls"。如果我使用此代码,我可以保证从FIRST帖子链接,显然。

pictureUrl = jsonResponse['response']['posts'][1]['video_url']

所以我试图把它变成一个for循环来从EVERYPOST中抓取所有video_urls而不仅仅是[1]而且它还没有工作......它可能是一个非常明显的答案但我很困惑。

    posts = jsonResponse.get('response', {}).get('posts', {})
    for post in posts:
        pictureUrl = jsonResponse['video_url']

这是当前不起作用的部分......它必须是一个非常明显的语法错误,我没有得到。

如果有人能指出我正确的方向来学习如何解决这个问题,请告诉我。

解决:

    posts = jsonResponse.get('response', {}).get('posts', '')
    for post in posts:
        if ('video_url' in post):
            pictureUrl = post['video_url']

1 个答案:

答案 0 :(得分:0)

在您的代码中,您将迭代中的当前项定义为post,但在for循环中,您引用jsonResponse代替。

要解决此问题,您需要将代码更新为以下内容:

posts = jsonResponse.get('response', {}).get('posts', {})
for post in posts:
    pictureUrl = post['video_url']