jetcache icon indicating copy to clipboard operation
jetcache copied to clipboard

json序列化建议

Open tbagwang opened this issue 3 years ago • 3 comments

最近遇到的问题是当返回类型存在泛型的复杂类型的话,由于encode、decode都无法拿到泛型的Type,反序列化会导致异常。 建议作者能否修改下CacheValueHolder,里面新增key属性,然后do_put将key也塞进去,使用一个全局的concurrentHashMap<String,Type>存储下key对应的Type类型。如果使用gson的话,反序列化可以通过先拿到key,然后拿到对应的Type,则可以反序列化成功。

tbagwang avatar Aug 14 '20 00:08 tbagwang

搞定了,spring替换JetCacheInterceptor类,自行实现json的序列化、反序列化问题

tbagwang avatar Sep 02 '20 02:09 tbagwang

方便共享下gson序列化代码吗?

zhangxuexiang avatar Sep 01 '21 01:09 zhangxuexiang

 ObjectMapper objectMapper = new ObjectMapper().activateDefaultTyping(
                    LaissezFaireSubTypeValidator.instance,
                    ObjectMapper.DefaultTyping.NON_FINAL,
                    JsonTypeInfo.As.WRAPPER_ARRAY);

用上面的就可以序列化带上类信息,只不过可能存在json的反序列化漏洞

darknesstm avatar Apr 03 '23 11:04 darknesstm