Spring MVC + FastJSON 接收List参数被坑
问题:
项目中用FastJSON来转换前端传入的Json数据,平时用的很正常,简单的对象直接放到参数里,复杂对象配合@ResponseBody都可以搞定,但是最近用List接收对象时,出现了一个很奇怪的问题,列表中的对象都被转成JSONObject了。
排查:
由于在没用FastJSON前,Spirng MVC ArrayList是能正常转换对象的,所以问题应该出在FastJSON上。查了下FastJSON文档
https://github.com/alibaba/fastjson/wiki/TypeReference
FastJSON要用反序列化类TypeReference来转换带有泛型的类。。。。。。
解决方式:
- 可以继续用List<T>接收对象,然后再用FastJSON转换成对象----- Json->JSONObject->T(对象) 浪费性能。。
- 用对象数组替换List<T> ----- Json -> T(对象) 最后选择这种方式了