应用场景: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;
结束语: 希望大家多多交流,有不对的地方,多多指证 本人原创,切勿抄袭!
原文地址:https://www.cnblogs.com/shiyixin0125/p/11043680.html
时间: 2024-11-15 11:45:23