Java Spring序列化json来查看

时间:2015-06-04 01:08:43

标签: java json spring spring-mvc

希望在JAVA Spring中的JSP视图上输出json对象。但是当我执行以下操作时,我看到的是java对象toString()

@RequestMapping(value = "/home", method = RequestMethod.GET)                                     
@ResponseBody                                                                                    
public ModelAndView homePage() {                                                                 
    MapDAOImpl mapDAOImpl = (MapDAOImpl) appContext.getBean("mapDAOImpl");                       
    ReturnLocations[] daoResponse  = mapDAOImpl.getPropertiesJsFilter(params);           



    ModelAndView model = new ModelAndView();                                                     
    model.setViewName("home");                                                                   
    model.addObject("locations", daoResponse);                                                   
    return model;                                                                                
}                                                                                                

JSP

<script>
<c:out value="${locations}" />
</script>                                                                              

编辑解决方案:

 ObjectWriter ow = new ObjectMapper().writer().withDefaultPrettyPrinter();       
 String json = ow.writeValueAsString(daoResponse);                               
 ModelAndView model = new ModelAndView();                                        
 model.setViewName("home");                                                      

 model.addObject("locations", json);                                             
 return model; 

1 个答案:

答案 0 :(得分:1)

只需在处理程序方法中将ReturnLocations[]序列化为JSON,将结果存储在String中,然后将String添加到Model。您可以通过请求属性在JSP中访问它。

另一种方法是使用Javascript呈现HTML页面,该页面将请求发送到单独的API,然后直接返回JSON(例如,使用@ResponseBody序列化)。然后,您可以根据结果做任何事情。