当前位置: 移动技术网 > IT编程>移动开发>Android > Android利用Gson解析嵌套多层的Json的简单方法

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

2019年07月24日  | 移动技术网IT编程  | 我要评论

尤物蜜雪儿,heywire,股票贝塔系数

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

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网