解析 YahooWeather JSON 响应
Parse YahooWeather JSON response
我尝试制作一个简单的天气应用程序,为此我使用了 YahooWeather api。所以我得到这样的回复:
/**/yqlCallback({
"query": {
"count": 3,
"results": {
"channel": [{
"item": {
"pubDate": "Fri, 16 Jan 2015 11:00 am EET",
"condition": {
"temp": "1",
"text": "Cloudy"
},
}
},
{
"item": {
"title": "1",
}
},
{
"item": {
"title": "2",
}
}]
}
}
});
我需要的唯一数据是 pubDate、temp 和文本。所以这就是我尝试获取这些值的方法。
JSONObject main = json.getJSONObject("query").getJSONObject("result").getJSONArray("channel")
.getJSONObject(0);
JSONObject details = main.getJSONObject("condition");
String t1 = details.getString("text");
String t2 = details.getString("temp");
String t3 = main.getString("pubDate");
这给了我这个错误:在 JSON 数据中找不到一个或多个字段。
当前 json 没有 JSONObject
与 result
键一起出现。使用 results
而不是 result
从 query
中获取 JSONObejct
JSONObject:
JSONObject main = json.getJSONObject("query").
getJSONObject("results").getJSONArray("channel");
JSONObject items = main.getJSONObject("item");
JSONObject details = items.getJSONObject("condition");
String t1 = details.getString("text");
String t2 = details.getString("temp");
问题是我需要在 .getJSONArray("channel").getJSONObject(0).getJsSONObject("item");
的末尾添加
无论如何,谢谢。
我尝试制作一个简单的天气应用程序,为此我使用了 YahooWeather api。所以我得到这样的回复:
/**/yqlCallback({
"query": {
"count": 3,
"results": {
"channel": [{
"item": {
"pubDate": "Fri, 16 Jan 2015 11:00 am EET",
"condition": {
"temp": "1",
"text": "Cloudy"
},
}
},
{
"item": {
"title": "1",
}
},
{
"item": {
"title": "2",
}
}]
}
}
});
我需要的唯一数据是 pubDate、temp 和文本。所以这就是我尝试获取这些值的方法。
JSONObject main = json.getJSONObject("query").getJSONObject("result").getJSONArray("channel")
.getJSONObject(0);
JSONObject details = main.getJSONObject("condition");
String t1 = details.getString("text");
String t2 = details.getString("temp");
String t3 = main.getString("pubDate");
这给了我这个错误:在 JSON 数据中找不到一个或多个字段。
当前 json 没有 JSONObject
与 result
键一起出现。使用 results
而不是 result
从 query
中获取 JSONObejct
JSONObject:
JSONObject main = json.getJSONObject("query").
getJSONObject("results").getJSONArray("channel");
JSONObject items = main.getJSONObject("item");
JSONObject details = items.getJSONObject("condition");
String t1 = details.getString("text");
String t2 = details.getString("temp");
问题是我需要在 .getJSONArray("channel").getJSONObject(0).getJsSONObject("item");
的末尾添加
无论如何,谢谢。