如何使用Python从Json获取数据?

时间:2015-10-18 14:30:34

标签: python json

我正在尝试使用此代码从api获取数据,并获取“NomParc”。我试过以下代码......有什么帮助吗? 抱歉,因为我知道这是一个非常新手的问题......我正在努力。

import json
import urllib2


url="https://www.apiurl"

json_obj= urllib2.urlopen(url)

data=json.load(json_obj)

collect=data['results']

for item in data:
    for data2 in data['results']:
        for data3 in data2['collection1']:
            print data3

这是我的json结构,而不是我从url变量得到的结构。

{
  "name": "Page Park wiki",
  "count": 480,
  "frequency": "Manual Crawl",
  "version": 3,
  "newdata": true,
  "lastrunstatus": "success",
  "thisversionstatus": "success",
  "thisversionrun": "Sat Oct 17 2015 13:05:00 GMT+0000 (UTC)",
  "results": {
    "collection1": [
      {
        "NomParc": "1er arrondissement de Paris",
        "Lat": {
          "href": "http://tools.wmflabs.org/geohack/geohack.php?language=fr&pagename=1er_arrondissement_de_Paris&params=48.859947_N_2.342059_E_type:city_region:fr",
          "text": "48° 51′ 36″ N"
        },
        "Long": {
          "href": "http://tools.wmflabs.org/geohack/geohack.php?language=fr&pagename=1er_arrondissement_de_Paris&params=48.859947_N_2.342059_E_type:city_region:fr",
          "text": "2° 20′ 31″ E"
        },....

1 个答案:

答案 0 :(得分:2)

首先你必须做json.loads(),而不是json.load()

在json.loads()之后,数据就像你可以访问的任何其他字典一样。

所以data['results']['collection1'][0]['NomPrac']会给你输出。

以下是代码:

for item in collect:
  for i in collect[item]:
    print i['NomPrac']