json复杂格式反序列化异常处理


json复杂格式反序列化异常处理

反序列化异常

复杂对象序列化为json字符串之后,反序列化的时候异常,明明类型是对的,但是就是转换失败。比如:

fastjson的时候提示:

fastjson.JSONException: syntax error, expect {, actual string

jackson提示

MismatchedInputException: Cannot construct instance of `java.util.LinkedHash

解决方法

使用TypeReference(jackson和fastjson都有这个对象,包结构不同)
.> 在TypeReference的<> 中放转换的类型

Map<String, List<User>> mao=JSON.parseObject(staticRedisDao.getStr(CACHE_SYS_PARAM_MAP), new TypeReference<Map<String, List<User>>>() {}) ;

或者

Map<String, List<User>> mao=objectMapper.readValue(staticRedisDao.getStr(CACHE_SYS_PARAM_MAP), new TypeReference<Map<String, List<User>>>() {}) ;


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM