美文网首页
最详细gson使用解析

最详细gson使用解析

作者: 玄冰0825 | 来源:发表于2019-03-02 10:02 被阅读0次

一、Gson的基本用法

fromJson()实现反序列化,toJson()实现了序列化

二、属性重命名 @SerializedName 注解的使用

  • 在属性名上注解 @SerializedName,使POJO中的属性名转为json的键名
  • SerializedName注解还有一个属性alternate,接收一个String数组
      eg: @SerializedName(value = "data", alternate = {"Date", "date"})
     注:当json中的键名出现data Date date任意一个时均可以得到正确的结果。

三、Gson中使用泛型

对于JSON中的Number、boolean、Object、String和Array,可以直接使用

Gson gson = new Gson();
String jsonArray = "[\"Android\",\"Java\",\"PHP\"]";
String[] strings = gson.fromJson(jsonArray, String[].class);

而对于List<String>.class则行不通,所以诞生了 new TypeToken<List<String>>() {}.getType()

例如:

Gson gson = new Gson();
String jsonArray = "[\"Android\",\"Java\",\"PHP\"]";
List<String> stringList = gson.fromJson(jsonArray, new TypeToken<List<String>>() {}.getType());

四、一个完整的例子:

Result<T>适合任意{"code":"0","message":"success","data":{}}和{"code":"0","message":"success","data":[]}的格式

public class TestC {
   public static void main(String[] args) {
       String jsonString="{\"code\":\"0\",\"message\":\"success\",\"data\":{\"data\": \"hello java\"}}";
       Gson gson = new Gson();
       Result<DateBean> resutlDate=gson.fromJson(jsonString,new TypeToken<Result<DateBean>>(){}.getType());
       System.out.println(resutlDate.getData().getDate());
   }
}

public class DateBean {
   @SerializedName("data")
   public String date;
   public String getDate() {
       return date;
   }
   public void setDate(String date) {
       this.date = date;
   }
}

public class Result<T> {
   public int code;
   public String message;
   public T data;

   public String getMessage() {
       return message;
   }
   public void setMessage(String message) {
       this.message = message;
   }
   public T getData() {
       return data;
   }
   public void setData(T data) {
       this.data = data;
   }
   public int getCode() {
       return code;
   }
   public void setCode(int code) {
       this.code = code;
   }
}

相关文章

  • 最详细gson使用解析

    一、Gson的基本用法 fromJson()实现反序列化,toJson()实现了序列化 二、属性重命名 @Seri...

  • Android 库 Gson

    【Android 库 Gson】 引用: ★Gson 解析教程★★★ Gson的入门使用Gson全解析(上)-Gs...

  • Android Gson官方推荐的json解析方式

    导航 XML的三种解析方式 json全面解析和使用 Gson官方推荐的json解析方式 Gson Gson解析是g...

  • 使用GSON框架解析json数据 --- android

    在android studio中使用Gson来解析Json文件,主要分为四个步骤: 下面进行详细介绍: 一、在an...

  • GSON 解析 JSON

    GSON JSON 介绍 Gson 下载 Gson 解析 和 格式化Gson 格式化Gson 解析 解析asset...

  • Gson序列化那些事

    Android开发中会经常解析json,使用retrofit框架常用gson解析json。Gson有一定的容错机制...

  • jackson、fastjson、gson简单使用

    三者效率比较:jackson很接近fastjson, gson解析最全,点击各自链接,可以查看更详细的使用手册 j...

  • 关于Gson解析的使用汇总

    JsonPrimitive的使用 参考:1 关于Gson解析的使用汇总

  • 2018-01-11

    Gson解析复杂json数据常用的两种解析方式 Gson gson = new Gson(); 1.gson.fr...

  • Android Gson 使用

    你真的会用Gson吗?Gson使用指南(一) 这篇帖子写得尤为详细Gson 中文指南 (非官方)https://g...

网友评论

      本文标题:最详细gson使用解析

      本文链接:https://www.haomeiwen.com/subject/xzxeuqtx.html