天天看點

java解析樹形多層嵌套json_Android利用Gson解析嵌套多層的Json的簡單方法

首先先講一個比較簡單點的例子(最簡單的我就不講啦,網上很多),幫助新手了解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;

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,而隻用{}嵌套的就定義為 public C c,

具體的大家對照Json字元串看看就明白了,不明白的我們可以互相交流,本人也是開發新手!

Gson gson = new Gson();

java.lang.reflect.Type type = new TypeToken() {}.getType();

JsonBean jsonBean = gson.fromJson(json, type);

然後想拿資料就很簡單啦,直接在jsonBean裡面取就可以了!

如果需要解析的Json嵌套了很多層,同樣可以可以定義一個嵌套很多層内部類的Bean,需要細心的對照Json字段來定義哦。

以上這篇Android利用Gson解析嵌套多層的Json的簡單方法就是小編分享給大家的全部内容了,希望能給大家一個參考,也希望大家多多支援腳本之家。