Android利用Gson解析嵌套多層的Json的簡單方法
首先先講一個(gè)比較簡單點(diǎn)的例子(最簡單的我就不講啦,網(wǎng)上很多),幫助新手理解Gson的使用方法:
比如我們要解析一個(gè)下面這種的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"}}
首先我們需要定義一個(gè)序列化的Bean,這里采用內(nèi)部類的形式,看起來會(huì)比較清晰一些:
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; } }
很多時(shí)候大家都是不知道這個(gè)Bean是該怎么定義,這里面需要注意幾點(diǎn):
1、內(nèi)部嵌套的類必須是static的,要不然解析會(huì)出錯(cuò);
2、類里面的屬性名必須跟Json字段里面的Key是一模一樣的;
3、內(nèi)部嵌套的用[]括起來的部分是一個(gè)List,所以定義為 public List<B> b,而只用{}嵌套的就定義為 public C c,
具體的大家對照J(rèn)son字符串看看就明白了,不明白的我們可以互相交流,本人也是開發(fā)新手!
Gson gson = new Gson(); java.lang.reflect.Type type = new TypeToken<JsonBean>() {}.getType(); JsonBean jsonBean = gson.fromJson(json, type);
然后想拿數(shù)據(jù)就很簡單啦,直接在jsonBean里面取就可以了!
如果需要解析的Json嵌套了很多層,同樣可以可以定義一個(gè)嵌套很多層內(nèi)部類的Bean,需要細(xì)心的對照J(rèn)son字段來定義哦。
以上這篇Android利用Gson解析嵌套多層的Json的簡單方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
關(guān)于android連續(xù)點(diǎn)擊出現(xiàn)多個(gè)Activity界面的解決方法
這篇文章主要介紹了關(guān)于android連續(xù)點(diǎn)擊出現(xiàn)多個(gè)Activity界面的解決方法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-03-03詳解Android開發(fā)數(shù)據(jù)持久化之文件存儲(chǔ)(附源碼)
本篇文章主要介紹了詳解Android開發(fā)數(shù)據(jù)持久化之文件存儲(chǔ)(附源碼),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03Android UI設(shè)計(jì)系列之ImageView實(shí)現(xiàn)ProgressBar旋轉(zhuǎn)效果(1)
這篇文章主要為大家詳細(xì)介紹了Android UI設(shè)計(jì)之ImageView實(shí)現(xiàn)ProgressBar旋轉(zhuǎn)效果,具有一定的實(shí)用性和參考價(jià)值,感興趣的小伙伴們可以參考一下2016-06-06Android利用Badge組件實(shí)現(xiàn)未讀消息小紅點(diǎn)
在?App?的運(yùn)營中,活躍度是一個(gè)重要的指標(biāo),日活/月活……為了提高活躍度,就發(fā)明了小紅點(diǎn)。這一篇,來介紹一個(gè)徽標(biāo)(Badge)組件,能夠快速搞定應(yīng)用內(nèi)的小紅點(diǎn),希望對大家有所幫助2023-01-01SimpleCommand實(shí)現(xiàn)上傳文件或視頻功能(四)
這篇文章主要介紹了SimpleCommand實(shí)現(xiàn)上傳文件或視頻功能,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-10-10Android Okhttp斷點(diǎn)續(xù)傳面試深入解析
這篇文章主要給大家介紹了關(guān)于Android Okhttp斷點(diǎn)續(xù)傳面試的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Android具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-06-06Android實(shí)現(xiàn)EventBus登錄界面與傳值(粘性事件)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)EventBus登錄界面與傳值,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-11-11