【问题标题】:extract key value from json python从json python中提取键值
【发布时间】:2015-12-19 11:14:13
【问题描述】:

我需要帮助从 - https://www.udemy.com/api-2.0/channels/1640/courses?is_angular_app=true&p=2 中提取“url”值

import urllib2, json
response = urllib2.urlopen('https://www.udemy.com/api-2.0/channels/1640/courses?is_angular_app=true&p=2')
data = json.load(response)

for data["url"] in data.items():
    print data["url"]

上面不行。请帮忙

【问题讨论】:

  • 检查这个:响应返回一个 JSON 字典,没有数组,也没有属性 'url' - 但是,响应包含属性 'result',它存储了一个具有 url 属性的课程对象数组。因此,您可以迭代 results 属性而不是整个响应。

标签: json angularjs python-2.7 parsing


【解决方案1】:

试试这个:

import urllib2, json
response = urllib2.urlopen('https://www.udemy.com/api-2.0/channels/1640/courses?is_angular_app=true&p=2')
data = json.load(response)
for i in range(len(data['results'])):
   print data['results'][i]['url']

【讨论】:

    【解决方案2】:

    使用此代码,您可以获得第一个数组的 url

    import urllib2, json
    response = urllib2.urlopen('https://www.udemy.com/api-2.0/channels/1640/courses?is_angular_app=true&p=2')
    data = json.load(response)
    
    print data['results'][0]['url']
    

    使用 for 循环从每个数组中获取所有 url

    import urllib2, json
    response = urllib2.urlopen('https://www.udemy.com/api-2.0/channels/1640/courses?is_angular_app=true&p=2')
    data = json.load(response)
    
    i = 0;
    for data["url"] in data['results']:
        print data['results'][i]['url']
        i+=1
    

    【讨论】:

    • 我这样做了 - 对于数据中的每个 ['results']:打印每个 ['url']
    • 谢谢帕雷什。我会继续并接受您的回答,它帮助我获得了迭代“结果”数组的想法。
    猜你喜欢
    • 2020-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-06
    • 2017-06-08
    • 1970-01-01
    • 2021-04-21
    相关资源
    最近更新 更多