您好我正在尝试使用以下代码查看地图内容:
@RequestMapping(value = "/demos", method = RequestMethod.GET,headers="Accept=application/json")
public @ResponseBody String getPartnerIdClusters(Model model) {
Map<Integer, List<Cluster>> partnerIdClusterMap = partnerService.getPartnerIdClusterMap(true, true);
return "partnerIdClusterMap: " + partnerIdClusterMap;
}
在浏览器中给了我以下输出:
partnerIdClusterMap: {2=nl.irp.globetrotting.model.Cluster@7499394a}
之后我尝试了这段代码:
String line = "test: /n";
for (Object entry : partnerIdClusterMap.values().toArray()) {
line += entry;
line += "/n";
}
return "partnerIdClusterMap " + line;
但这不起作用,因为它给了我以下输出:
partnerIdClusterMap test: /nnl.irp.globetrotting.model.Cluster@63769066/n
我已经知道它是Cluster
,ID为3.以下是它的截图:
链接:http://i.imgur.com/pKLu6gf.png
以下是getPartnerIdClusterMap()
方法的外观(如果您想知道):
@Override
public Map<Integer, List<Cluster>> getPartnerIdClusterMap(boolean minorOnly, boolean foreignCountriesOnly) {
BooleanBuilder predicate = new BooleanBuilder();
if (minorOnly) {
predicate.and(qCluster.type.eq(ClusterType.MINOR));
}
if (foreignCountriesOnly) {
predicate.and(qPartner.country.code2.ne("nl"));
}
return from(qCluster)
.innerJoin(qCluster.partner, qPartner)
.where(predicate)
.where(qPartner.country.code2.ne("nl"))
.map(qPartner.id, GroupBy.list(qCluster));
}
这是我很乐意知道的:
所以我很乐意看到Cluster
包含该行的所有值。
答案 0 :(得分:1)
Spring MVC应该能够在消息转换器的帮助下将地图转换为JSON。使用Spring Boot,只需返回地图就可以了 - 我会自动配置 MappingJackson2HttpMessageConverter 。我记得,在使用Spring Boot之前,我只需要配置 ObjectMapper ,然后返回地图就可以了。总而言之,我认为
答案 1 :(得分:0)
partnerIdClusterMap: {2=nl.irp.globetrotting.model.Cluster@7499394a}
基本上您正在打印指定的值。在这种情况下,您将打印整数,然后打印使用“集群对象”填充的列表对象。 考虑在weblogic中迭代partnerIdClusterMap并使用它提供的方法提取值,或者覆盖对象的toString方法以获得包含详细信息的完整行。