解析json
关于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().equals("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 block e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); }
本文转自http://www.cnblogs.com/pen-ink/archive/2011/10/06/2199715.html