我有这样的方法
@ResponseBody
@RequestMapping(method = RequestMethod.GET, value = "/getGroupList", produces = "application/json")
public Map getGroups() {
List<UserGroup> userGroups = userGroupService.getAllUserGroups();
Map result = new TreeMap();
result.put("groupList", userGroups);
return result;
}
当我加载页面/ getGroupList时,它返回一个非常长的json数据。当我调试代码时,我可以清楚地看到在usreGroups列表中只有2个项目。为什么方法getGroups撤回大量数据。返回的数据也以double qoutes结尾,看起来好像直到不完整......
答案 0 :(得分:0)
这是一个假设。如果您的UserGroup
类类似
class UserGroup {
User user;
Group group;
}
这些课程就像
class User {
UserGroup userGroup;
}
class Group {
UserGroup userGroup;
}
然后序列化过程将永远继续,因为序列化UserGroup
将尝试序列化User
,它将尝试重新序列化相同的UserGroup
等等......
Spring默认使用Jackson序列化为JSON。杰克逊为此提供了许多解决方案,例如@JsonBackReference
。