Android利用Gson解析嵌套多层的Json的简单方法
程序员文章站
2024-03-07 21:41:27
首先先讲一个比较简单点的例子(最简单的我就不讲啦,网上很多),帮助新手理解gson的使用方法:
比如我们要解析一个下面这种的json:
string jso...
首先先讲一个比较简单点的例子(最简单的我就不讲啦,网上很多),帮助新手理解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的简单方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。