今天介绍一下关于json数据解析,我们使用Android中的JSONObject和JSONArray解析json数据,有android开发的朋友可以参考一下.
- 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 block
- e.printStackTrace();
- } catch (IOException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
Json解析库gson:http://code.google.com/p/google-gson/ |