【问题标题】:Error with my syntax. Parsing Json/For-loop我的语法错误。解析 Json/For 循环
【发布时间】:2015-10-04 23:18:01
【问题描述】:

我正在尝试遍历 json 响应,保存所有“video_urls”。如果我使用此代码,我可以保证来自第一篇文章的链接,显然。

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']

【问题讨论】:

  • pictureUrl = post['video_url'];,可能。您指的是顶层 json 对象,同时在其地下室翻找。
  • 试过这个建议,还是不行。我迷路了。
  • 然后开始基本调试:将post 的内容转储到for 循环中,这样您就可以看到正在处理的内容。

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


【解决方案1】:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-04-17
    相关资源
    最近更新 更多