[转载]解析json – penink – 博客园.

关于Json:http://www.json.org/

Json解析库gson: http://code.google.com/p/google-gson/

1.使用Android中的JSONObject和JSONArray解析json数据

String strJson = "{\"students\":[{\"name\":\"Jack\",\"age\":12}, {\"name\":\"Vista\",\"age\":23}, {\"name\":\"Kaka\",\"age\":22}, {\"name\":\"Hony\",\"age\":31}]}";
try {JSONObject jo = new JSONObject(strJson);
JSONArray jsonArray = (JSONArray) jo.get("students");
for (int i = 0; i < jsonArray.length(); ++i) {
JSONObject o = (JSONObject) jsonArray.get(i);
System.out.println("name:" + o.getString("name") + "," + "age:"+ o.getInt("age"));
}}catch (JSONException e) {
e.printStackTrace();
}


2.使用gson中的JsonReader解析json数据

try {
String string = "{\"class\":1, \"students\":[{\"name\":\"jack\", \"age\":21},{\"name\":\"kaka\", \"age\":21},{\"name\":\"lucy\", \"age\":21}]}";
StringReader sr = new StringReader(string);
JsonReader jr = new JsonReader(sr);
jr.beginObject();
if (jr.nextName().contains("class")) {
System.out.println("班级: " + jr.nextString());
if (jr.nextName().equals("students")) {
jr.beginArray();
while (jr.hasNext()) {
jr.beginObject();
if (jr.nextName().equals("name"))
System.out.print("姓名:" + jr.nextString());
if (jr.nextName().equals("age")) {
System.out.println(" , 年龄:" + jr.nextInt());}jr.endObject();
}
jr.endArray();
}}
jr.endObject();
} catch (FileNotFoundException e) {
// TODO Auto-generated catch
blocke.printStackTrace();
} catch (IOException e) {// TODO Auto-generated catch
 blocke.printStackTrace();
}


更多相关文章

  1. android 将Json数据动态的添加到String[]数组当中
  2. 郭霖的LitePal版本历程
  3. Android获取手机联系人的方法
  4. registerContentObserver回调两次,ContentObserver回调两次
  5. Android(安卓)使用 URL 和 AsyncTask 加载网络数据
  6. Android(安卓)判断SD卡是否存在及容量查询
  7. Android(安卓)ListView控件显示数据库中图片

随机推荐

  1. 简单实现Android绘图板
  2. 屏幕触点
  3. [置顶] Android(安卓)Material Design学
  4. Androiid
  5. Android(安卓)recovery 原理分析
  6. Android高手进阶教程(九)之----Android(
  7. Android中如何获取字符或者字符串的宽度
  8. Android观察者模式实例分析
  9. Android(安卓)Studio 快捷键 (Mac OS X)
  10. Android开发框架介绍