2015-10-18 44 views
-1

我想从这个代码的API中获取数据,并获得“NomParc”为例。我已经尝试了下面的代码...任何帮助? 对不起,因为我知道这是一个非常新手的问题......我在努力。如何从Python使用Json获取数据?


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" 
     },.... 
+0

这是json_obj的输出? – blackmamba

回答

2

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

后json.loads(),数据就像是,你可以访问任何其他字典。因此data['results']['collection1'][0]['NomPrac']会给你输出。

下面是代码:

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

这是....工作!谢谢! ;-) – Sulot

+0

太棒了!如果你接受答案,将不胜感激:) – blackmamba

+0

嗨,我有另一个问题,输出不是一个字符串,我可以使用,但一个unicode ... – Sulot