Spring MVC + FastJSON 接收List参数被坑

问题:

项目中用FastJSON来转换前端传入的Json数据,平时用的很正常,简单的对象直接放到参数里,复杂对象配合@ResponseBody都可以搞定,但是最近用List接收对象时,出现了一个很奇怪的问题,列表中的对象都被转成JSONObject了。


排查:

由于在没用FastJSON前,Spirng MVC ArrayList是能正常转换对象的,所以问题应该出在FastJSON上。查了下FastJSON文档

https://github.com/alibaba/fastjson/wiki/TypeReference

FastJSON要用反序列化类TypeReference来转换带有泛型的类。。。。。。


解决方式:

  1. 可以继续用List<T>接收对象,然后再用FastJSON转换成对象-----  Json->JSONObject->T(对象) 浪费性能。。
  2. 用对象数组替换List<T> ----- Json -> T(对象)    最后选择这种方式了

Spring MVC + FastJSON 接收List参数被坑