首先先講一個比較簡單點的例子(最簡單的我就不講啦,網上很多),幫助新手理解Gson的使用方法:
比如我們要解析一個下面這種的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"}}首先我們需要定義一個序列化的Bean,這里采用內部類的形式,看起來會比較清晰一些:
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字段來定義哦。
以上這篇Android利用Gson解析嵌套多層的Json的簡單方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林網。
新聞熱點
疑難解答