Adnroid解析Json数组DEMO实例
需要用到的Json解析库Gson请自行解决
下面我们来看下具体用法
1、使用Android中的JSONObject和JSONArray解析json数据
String strJson = "{\"UrlName\":[{\"name\":\"jsons.cn\",\"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\":\"Jsons.cn\", \"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(); }
原文链接:Adnroid解析Json数组实例