google 的 gson 序列化器使用

Posted shiyixin0125

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了google 的 gson 序列化器使用相关的知识,希望对你有一定的参考价值。

应用场景:1.  公司安全方面要求 对所有文件路径进行加密,好我们框架里之前加了统一父类,能获取到所有的出参和入参; 

                  2. 由于文件路径都是string类型,因此想要用json序列化器,其实我暂且并不是很清楚哪个序列化api更好一些,因此就随机使用了google
    直接上代码吧:
应用实例: 
  // 公司的出参 这里object可能是任何类型,因此要做下具体判断,比如排除 String(不对其进行序列化)
    // 这里就省略了
        Object response = new Object();
    // 初始化google的json序列化器
        GsonBuilder gsonBuilder = new GsonBuilder();
        JsonSerializer<String>  serializer = (filepath, typeOfSrc, context) -> 
                this.needAES(filePath) ? : this.jsonElementForredis(filePath) : newJsonPrimite();
   //   注册指定要序列化的数据类型(这里文件路径是String类型,因此指定为String)
        gsonBuilder.registerTyprAdapter(String,class, serializer);
  //   创建序列化器
        Gson gson =  gsonBuilder.create();
  //   将 response 进行序列化
       String resStr = gson.toJson(response);
 //   反序列化返回对象 结束文件路径处理,将返回对象按照原有格式进行返回
       ObjectMapper mapper = new ObjectMapper();
        try 
           response =  mapper.readValue(resStr, Object.class);
         catch(Exception e) 
            Logger.error(“gson serializer error :”, e.getMessage());
        
        
       return response;

 结束语: 希望大家多多交流,有不对的地方,多多指证 本人原创,切勿抄袭!

以上是关于google 的 gson 序列化器使用的主要内容,如果未能解决你的问题,请参考以下文章

Google Gson 使用简介

GSON:不调用我的反序列化器

Gson反序列化泛型实例

完全理解Gson:简单入门

Java Json API:Gson使用简单入门

使用 gson 序列化 json