Android利用Gson解析嵌套多层的Json的简单方法

时间:2021-05-20

首先先讲一个比较简单点的例子(最简单的我就不讲啦,网上很多),帮助新手理解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的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。

声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。

相关文章