android 基础 json解析Gson

转载 2016年05月31日 17:07:12

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> 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字段来定义哦。


如果解析的是Json对象数组,就要麻烦一点,需要借助Typetoken(官方提供的一种反射机制)将期望解析成的数据类型传入到fromJson()方法中

Android 使用Gson解析json案例详解

一、目前解析json有三种工具:org.json(Java常用的解析),fastjson(阿里巴巴工程师开发的),Gson(Google官网出的),解析速度最快的是Gson,下载地址:https://...
  • u010870518
  • u010870518
  • 2015年03月13日 10:29
  • 3421

Android利用Gson库解析复杂结构的JSON数据

最近在应用Face++进行人脸识别开发时,经常需要解析Face++返回的结构复杂的JSON数据,于是便决定应用Google开发的Gson库来减轻工作量。首先给大家看一个比较复杂的JSON数据:{"fa...
  • limonzet
  • limonzet
  • 2016年05月05日 19:10
  • 992

Android Gson解析多层嵌套复杂数据

Android Gson解析多层嵌套复杂数据 时间:2014-08-06 19:04:32      阅读:5416      评论:0      收藏:0      [点我收藏+] ...
  • u010865433
  • u010865433
  • 2015年10月12日 19:48
  • 2078

*Android JSON解析(Android原生解析与FastJson Gson)性能比较

Android 常用传递数据的格式 分两种 一种XML另一种 JSON。  JSON与XML的相比较 的优点是 作为数据传输格式,跟XML类似,但是比XML更加轻巧  由于JSON是JavaScrip...
  • u011733020
  • u011733020
  • 2015年04月10日 20:35
  • 2487

使用Gson解析复杂的json数据

Gson解析复杂的json数据
  • tkwxty
  • tkwxty
  • 2014年06月25日 18:48
  • 172987

Andorid之Gson解析Json数据

Json类型数据可以通过Json官方提供的方法将Json字符串转化为对象类型,但是解析往往比较麻烦, Gson是 Google 提供的用来在 Java 对象和 JSON 数据之间进行映射的 Java ...
  • zml_2015
  • zml_2015
  • 2016年02月03日 14:51
  • 2942

当Gson解析遇上关键字

当Gson解析遇上关键字 这种情况无非有两种解决办法,一种是服务器端人员改,另一种是前端人员改。 服务器端改比较容易,但是前端人员绞尽脑汁想,这该怎么改,不使用Gson,直接使用JsonObjec...
  • jsonnan
  • jsonnan
  • 2016年07月14日 22:00
  • 1063

如何统一解析JSON数据,使用Gson结合泛型类灵活,让您一劳永逸

作为一名android 客户端开发人员,学会解决问题和总结问题的习惯是很重要的。。。那么我们app接口数据返回通常是以下格式: {"code":"0000","data": {"code":"000...
  • liu_guizhou
  • liu_guizhou
  • 2016年11月27日 19:12
  • 1912

Android Studio 自动生成 Gson bean(json解析快捷方法)

json解析快捷方法 1. 打开 Settings,选择菜单栏 File -> Settings... 2. 左边选择 Plugins 选项,右边进入之后选择 Browse r...
  • IT_51888_liang
  • IT_51888_liang
  • 2016年09月22日 21:19
  • 2221

Json解析的两种方法:一种Android自带的,一种第三方Gson

Json 有点像序列化和反序列化。 一种是Android 自带的,另一种是第三方的Gson。 Gson解析;最大的特点就是获取非常方便。不管是获取一个变量还以一个List集合,还是含有Map集合的Li...
  • Rodulf
  • Rodulf
  • 2016年03月17日 23:32
  • 2018
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:android 基础 json解析Gson
举报原因:
原因补充:

(最多只允许输入30个字)