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 序列化器使用的主要内容,如果未能解决你的问题,请参考以下文章