try { JSONObject data=new JSONObject(s); String reason=data.getString("reason"); JSONArray results=data.getJSONArray("results"); JSONObject resultbean =results.getJSONObject(0); String city=resultbean.getString("city"); JSONObject ctime=results.getJSONObject(1); String ctrue=ctime.getString("temperature"); String chumidity=ctime.getString("humidity"); String cinfo=ctime.getString("info"); String cwid=ctime.getString("wid"); String cdirect=ctime.getString("direct"); String cpower=ctime.getString("power"); String caqi=ctime.getString("aqi"); tv.setText(reason+"\n"+city+"\n"+caqi+"\n"); } catch (JSONException e) { e.printStackTrace(); } }
时间: 2024-04-28 07:19:41 浏览: 89
JSONObject与JSONArray使用方法解析
您修改后的代码看起来应该没有问题了,使用getString()方法可以确保在JSON对象中不存在该属性时会抛出JSONException异常,避免了空指针异常的发生。
如果您仍然遇到应用程序闪退的问题,建议您使用Log打印输出来检查哪一行代码引发了异常,并提供相关的堆栈跟踪信息,以便进一步分析问题的原因。
阅读全文