我正在尝试解析来自http://www.worldweatheronline.com JsON Feed的天气信息.这是它的格式:
{ "data" : { "current_condition" : [ { "cloudcover" : "75", "humIDity" : "100", "observation_time" : "10:01 PM", "precipMM" : "0.0", "pressure" : "1015", "temp_C" : "3", "temp_F" : "37", "visibility" : "4", "weatherCode" : "143", "weatherDesc" : [ { "value" : "Mist" } ], "weatherIconUrl" : [ { "value" : "http://www.worlDWeatheronline.com/images/wsymbols01_png_64/wsymbol_0006_mist.png" } ], "winddir16Point" : "N", "winddirDegree" : "360", "windspeedKmph" : "11", "windspeedMiles" : "7" } ],
所以有current_condition JsONArray,我已经设法从中获取值.但是,我如何从内部数组weatherDesc或weatherIconUrl读取值?
这是我的读取degraMM,压力,temp_C等的代码:
String precipMM = null; try { JsONObject data = Json.getJsONObject("data"); JsONArray current_condition = data.getJsONArray("current_condition"); for(int i = 0; i < current_condition.length(); i++) { precipMM = current_condition.getJsONObject(i).getString("precipMM"); } } catch (JsONException e) { e.printstacktrace(); }
解决方法:
这很简单
current_condition.getJsONArray()
和Json解析一样,我建议看一下这个库
http://jackson.codehaus.org/
编辑后你发表评论
您发布的代码可能会得到很大改善.您正在为每个值迭代数组.你可以对数组做同样的事情.只需调用.getJsonArray(),而不是.getJsonObject().但是,这意味着您的代码会为每个其他值抛出错误.我会再次推荐杰克逊图书馆
总结以上是内存溢出为你收集整理的解析JSON,数组中的数组(Android)全部内容,希望文章能够帮你解决解析JSON,数组中的数组(Android)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)