1. 使用標准的Json對象,如org.json.JSONObject json = new org.json.JSONObject(yourJsonString);然后通過get(keyString)逐個解析
2. 構造一個類MyObject,根據你提出的問題,其中添加 String name,List<MyObject> child, 兩個屬性,增加getter setter 方法,通過com.google.gson.Gson進行解析。步驟如下:
String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}";
Gson gson = new Gson();
MyObject obj = gson.fromJson(jsonStr,MyObject.class);
1 import java.util.List; 2 3 import com.google.gson.Gson; 4 5 public class MyObject { 6 String name; 7 List<MyObject> child; 8 public String getName() { 9 return name; 10 } 11 public void setName(String name) { 12 this.name = name; 13 } 14 public List<MyObject> getChild() { 15 return child; 16 } 17 public void setChild(List<MyObject> child) { 18 this.child = child; 19 } 20 21 public static void main(String[] args) { 22 String jsonStr = "{'name':'111','child':[{'name':'222','child':[{'name':'333'}]},{'name':'2221'}]}"; 23 Gson gson = new Gson(); 24 MyObject obj = gson.fromJson(jsonStr,MyObject.class); 25 System.out.println(obj.getChild().get(0).getName()); // --222 26 System.out.println(obj.getChild().get(1).getName()); // --222 27 System.out.println(obj.getChild().get(0).getChild().get(0).getName()); // --333 28 } 29 }
引自http://www.iteye.com/problems/88002 flashsnow 的回答,非常感謝
