Adnroid解析Json数组DEMO实例
需要用到的Json解析库Gson请自行解决
下面我们来看下具体用法
1、使用Android中的JSONObject和JSONArray解析json数据
String strJson = "{\"UrlName\":[{\"name\":\"yunjson.com\",\"age\":2}, {\"name\":\"Json工具\",\"age\":2}]}"; try { JSONObject jo = new JSONObject(strJson); JSONArray jsonArray = (JSONArray) jo.get("UrlName"); 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 = "{\"Root\":1, \"UrlName\":[{\"name\":\"yunjson.com\", \"age\":2},{\"name\":\"Json解析\", \"age\":2}]}"; StringReader sr = new StringReader(string); JsonReader jr = new JsonReader(sr); jr.beginObject(); if (jr.nextName().equals("Root")) { System.out.println("最高级别: " + jr.nextString()); if (jr.nextName().equals("UrlName")) { 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) { e.printStackTrace(); }