比如我們要解析一個下面這種的Json:
String json = {
"a": "100",
"b": [
{
"b1": "b_value1",
"b2": "b_value2"
},
{
"b1": "b_value1",
"b2": "b_value2"
}
],
"c": {
"c1": "c_value1",
"c2": "c_value2"
}
}
public class JsonBean {
public String a;
public List<B> b;
public C c;
public static class B {
public String b1;
public String b2;
}
public static class C {
public String c1;
public String c2;
}
}
很多時候大家都是不知道這個Bean是該怎麼定義,這裏面需要注意幾點:
1、內部嵌套的類必須是static的,要不然解析會出錯;
2、類裏面的屬性名必須跟Json字段裏面的Key是一模一樣的;
3、內部嵌套的用[]括起來的部分是一個List,所以定義爲 public List<B> b,而只用{}嵌套的就定義爲 public C c,
具體的大家對照Json字符串看看就明白了,不明白的我們可以互相交流,本人也是開發新手!
Gson gson = new Gson();
java.lang.reflect.Type type = new TypeToken<JsonBean>() {}.getType();
JsonBean jsonBean = gson.fromJson(json, type);
然後想拿數據就很簡單啦,直接在jsonBean裏面取就可以了!
如果需要解析的Json嵌套了很多層,同樣可以可以定義一個嵌套很多層內部類的Bean,需要細心的對照Json字段來定義哦。
原文出處:http://www.cnblogs.com/jxgxy/p/3677256.html
感謝作者分享!