2015-10-18 46 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