这是我下面的代码从我需要解析JSONObject
获得单个项目。这是我第一次使用JSON。所以不知道如何解析JSONObject
从JSONObject
获取单个项目。我如何可以循环的JSONObject来获得不同的物品,
try {
String url = service + version + method + ipAddress + format;
StringBuilder builder = new StringBuilder();
httpclient = new DefaultHttpClient();
httpget = new HttpGet(url);
httpget.getRequestLine();
response = httpclient.execute(httpget);
HttpEntity entity = response.getEntity();
if (entity != null) {
InputStream inputStream = entity.getContent();
bufferedReader = new BufferedReader(new InputStreamReader(inputStream));
for (String line = null; (line = bufferedReader.readLine()) != null;) {
builder.append(line).append("\n");
}
JSONObject jsonObject = new JSONObject(builder.toString());
// Now iterate jsonObject to get Latitude,Longitude,City,Country etc etc.
}
} catch (Exception e) {
getLogger().log(LogLevel.ERROR, e.getMessage());
} finally {
bufferedReader.close();
httpclient.getConnectionManager().shutdown();
}
我的JSON是这样的:
{
"ipinfo": {
"ip_address": "131.208.128.15",
"ip_type": "Mapped",
"Location": {
"continent": "north america",
"latitude": 30.1,
"longitude": -81.714,
"CountryData": {
"country": "united states",
"country_code": "us"
},
"region": "southeast",
"StateData": {
"state": "florida",
"state_code": "fl"
},
"CityData": {
"city": "fleming island",
"postal_code": "32003",
"time_zone": -5
}
}
}
}
我需要从上述目的latitude
,longitude
,city
,state
,country
,postal_code
得到。任何人都可以提供任何建议如何有效地做到这一点?
很好的回答。我只想提的是,在这种情况下,'地图'只是罚款,而是使之更通用的,我会做'地图<字符串,对象>',因为一些字段是数字。 –
Tavo