JSON返回示例:
{ /*JSONObject*/
"resultcode": "200",
"reason": "SUCCESSED!",
"result": [ /*JSONArray*/
{ /*JSONObject*/
"city": "苏州", /*城市*/
"PM2.5": "73", /*PM2.5指数*/
"AQI": "98", /*空气质量指数*/
"quality": "良", /*空气质量*/
"PM10": "50",/*PM10*/
"CO": "0.79", /*一氧化碳*/
"NO2": "65", /*二氧化氮*/
"O3": "28", /*臭氧*/
"SO2": "41", /*二氧化硫*/
"time": "2014-12-26 11:48:40"/*更新时间*/
}
],
"error_code": 0
}

实例:JSONDemo
运行效果:

Android之Json解析_第1张图片


主要代码片段:

protected void onPostExecute(String result) {          if (result != null) {              try {                  JSONObject jsonObject = new JSONObject(result);                  int resultCode = jsonObject.getInt("resultcode");                  if (resultCode == 200) {                      JSONArray resultJsonArray = jsonObject.getJSONArray("result");                      JSONObject resultJsonObject = resultJsonArray.getJSONObject(0);                      String output = context.getString(R.string.city) + ": " + resultJsonObject.getString("city") + "\n"                              + context.getString(R.string.PM25) + ": " + resultJsonObject.getString("PM2.5") + "\n"                              + context.getString(R.string.AQI) + ": " + resultJsonObject.getString("AQI") + "\n"                              + context.getString(R.string.quality) + ": " + resultJsonObject.getString("quality") + "\n"                              + context.getString(R.string.PM10) + ": " + resultJsonObject.getString("PM10") + "\n"                              + context.getString(R.string.CO) + ": " + resultJsonObject.getString("CO") + "\n"                              + context.getString(R.string.NO2) + ": " + resultJsonObject.getString("NO2") + "\n"                              + context.getString(R.string.O3) + ": " + resultJsonObject.getString("O3") + "\n"                              + context.getString(R.string.SO2) + ": " + resultJsonObject.getString("SO2") + "\n"                              + context.getString(R.string.time) + ": " + resultJsonObject.getString("time") + "\n";                      tv_result.setText(output);                  } else if (resultCode == 202) {                      String reason = jsonObject.getString("reason");                      tv_result.setText(reason);                  } else {                      Toast.makeText(context, "查询失败",                              Toast.LENGTH_LONG).show();                      tv_result.setText("");                  }              } catch (JSONException e) {                  // TODO Auto-generated catch block                  e.printStackTrace();              }          } else {              Toast.makeText(context, "查询失败",                                      Toast.LENGTH_LONG).show();              tv_result.setText("");          }      }    


分析:key值 'result' 后面对应的是数组,所以上面代码用法是getJSONArray; 数组当中又是一个{ }对象,所以代码中就是resultJsonArray.getJSONObject(0); 这句 。 总而言之记住一个原则,value是什么类型,那么就用什么类型去获取。

更多相关文章

  1. Android实战项目:第一行代码CoolWeather
  2. android apk 升级代码
  3. Android 相机2之常用工具代码(预览方向、预览尺寸、全屏显示、分
  4. [置顶] Android防火墙+流量统计代码
  5. Android应用程序获取ROOT权限代码
  6. android 个人铃声设置代码
  7. android典型代码系列(九)------电话拦截
  8. Android里用代码设置View的相关属性

随机推荐

  1. 6个必看的Android网站
  2. Kernel.org 被黑,获取 Android(安卓)源码
  3. Android(安卓)安全机制(1)uid 、 gid 与 pi
  4. android 获取汉字拼音
  5. Android应用程序框架层和系统运行库层日
  6. Android(安卓)NFC开发(二)——Android世界
  7. android 机器人
  8. ubuntu android 源码下载
  9. [Android(安卓)Studio] Android(安卓)Stu
  10. [Android]从新旧API看android代码演进