2010-01-03 11 views
0

我不设法从以下JSON获得纬度,经度(以JSON变量持有),我从一个http请求得到:的Json + java的,不能让一个项目


{ 
    "name": "rue de la paix, paris, france", 
    "Status": { 
    "code": 200, 
    "request": "geocode" 
    }, 
    "Placemark": [ { 
    "id": "p1", 
    "address": "Rue de la Paix, 75002 Paris, France", 
    "AddressDetails": { 
    "Accuracy" : 6, 
    "Country" : { 
     "AdministrativeArea" : { 
     "AdministrativeAreaName" : "Ile-de-France", 
     "SubAdministrativeArea" : { 
      "Locality" : { 
       "LocalityName" : "Paris", 
       "PostalCode" : { 
        "PostalCodeNumber" : "75002" 
       }, 
       "Thoroughfare" : { 
        "ThoroughfareName" : "Rue de la Paix" 
       } 
      }, 
      "SubAdministrativeAreaName" : "Paris" 
     } 
     }, 
     "CountryName" : "France", 
     "CountryNameCode" : "FR" 
    } 
}, 
    "ExtendedData": { 
     "LatLonBox": { 
     "north": 48.8724046, 
     "south": 48.8661093, 
     "east": 2.3343785, 
     "west": 2.3280833 
     } 
    }, 
    "Point": { 
     "coordinates": [ 2.3312296, 48.8692714, 0 ] 
    } 
    } ] 
} 

我第一次拿到“地标“JSONArray,代码如下:

JSONArray array = json.optJSONArray("Placemark"); 

没关系。 但我不能让“点”对象......

JSONObject coordinates_json_obj = json.optJSONArray("Placemark").getJSONObject(4); 

=> JSONArray[4] not found. 

你有什么线索? 非常感谢, Luc

回答

4

Placemark数组中只有一个对象。点是该对象中的条目。

做到这一点,也许:

JSONObject coordinates_json_obj = json.optJSONArray("Placemark").get(0).getJSONObject("Point"); 
+0

谢谢,这工作正常! – Luc 2010-01-04 20:25:57

+0

嗨,我想获得城市和国家,但无法迭代通过响应。任何指针? – Sarah 2012-11-22 13:09:10

+0

我试过这个,但没有任何运气: JSONArray Placemark = obj.getJSONArray(“Placemark”); JSONObject j = Placemark.getJSONObject(0); String details = j.getString(“Country”); 但是这并不工作:( – Sarah 2012-11-22 13:23:11