Spring 版本不同导致json解析问题,解决方案
版本引入:
<spring.version>4.3.2.RELEASE</spring.version>
在执行控制器代码时候,总是报json解析错误
@RequestMapping("/list")
@ResponseBody
public List<EUTreeNode> getCatList(@RequestParam(value = "id", defaultValue = "0") Long parentId) {
List<EUTreeNode> list = itemCatService.getCatList(parentId);
return list;
}
解决方案:
方案 一、 对实体对象转换,直接返回json字符串
1.引入fastJosn
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.33</version>
</dependency>
2.修改输出方式
@RequestMapping(value="/list",produces = "text/json;charset=UTF-8")
@ResponseBody
public String getCatList(@RequestParam(value = "id", defaultValue = "0") Long parentId) {
List<EUTreeNode> list = itemCatService.getCatList(parentId);
String result = JSON.toJSONString(list);
return result;
// return list;
}
注意这里一定要加编码格式,否则会出现中文乱码的现象
方案二、 更改spring的版本
<spring.version>4.1.3.RELEASE</spring.version>