¿Cómo puedo devolver JSON desde el controlador de primavera como una vista o ModelAndView
? No estoy interesado en usar la anotación @ResponseBody
. ¿Hay otra manera de hacer esto?primavera: devolver JSON desde el controlador como ModelAndVIew
Respuesta
Puede usar la clase org.codehaus.jackson.map.ObjectMapper
para escribir cadenas json en la secuencia de salida. Utilice el siguiente fragmento de código en el método de su controlador:
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(outputStream, model);
outputStream.flush();
Si su versión de Spring es lo suficientemente alta, el objeto MappingJacksonJsonView utiliza ObjectMapper de Jackson para serializar el modelo. Referencia http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/servlet/view/json/MappingJacksonJsonView.html –
Sí, se puede devolver un MappingJacksonJsonView
o asignarlo a un objeto utilizando ModelAndView
mav.setView(new MappingJacksonJsonView())
.
Actualización: En Spring 4 MappingJacksonJsonView es deprecated. Es posible que desee actualizar a MappingJackson2JsonView
Para mayor detalle, puede establecer el nombre de vista de MOdelAndView en una instancia de MappingJacksonJsonView para devolver un objeto JSON en lugar de ModelAndView. Un ejemplo se vería así: 'ModelAndView mav = new ModelAndView (new MappingJacksonJsonView()); mav.addObject ("clave1", "valor1"); mav.addObject ("key2", "valor2"); ' Volviendo' mav' haría entonces la salida un objeto JSON de la forma: '{ "key1": "valor1", "key2": "valor2"} ' – JCoster22
Actualización: utilicé [MappingJackson2JsonView] (http://docs.spring.io/spring/docs/3.1.x/javadoc-api/org/springframework/web/servlet/view/json/MappingJackson2JsonView.html) para el encima. – JCoster22
- 1. Devolver JSON desde un método JsonResult en el controlador MVC
- 2. Cómo devolver JSON desde el controlador de MVC WEB API
- 3. Controlador de primavera no funciona como debería
- 4. JSON posterior a la primavera controlador MVC
- 5. cómo devolver el formato json desde ODATA?
- 6. Devolver diferentes vistas desde el controlador MVC
- 7. Cómo devolver JSON desde el servicio web
- 8. Devolver el mismo controlador de vista utilizando ModelAndView de Spring Web MVC
- 9. cómo devolver JSON con controlador MVC
- 10. Retorno JSON o vista desde el controlador MVC de Spring
- 11. Devolver objeto JSON desde una página ASP.NET
- 12. Cómo devolver JSON desde un filtro HandleError?
- 13. ¿Cómo devolver Json desde WCF Service?
- 14. ¿Cómo devolver el valor de Python como JSON?
- 15. Cómo devolver JSON desde un JSP
- 16. Leyendo el contenido de httprequest del controlador de excepción de primavera
- 17. Ajax llamada para obtener JSON desde el controlador MVC3
- 18. Pase el objeto JSON al controlador MVC como argumento
- 19. Controlador de primavera: objetos de uso de dominio como @RequestBody
- 20. PathVariable en el controlador de la primavera
- 21. ¿Cómo devolver HTML directamente desde un controlador Rails?
- 22. Devolver JSON desde ASMX, y manejarlo correctamente en Javascript
- 23. Cómo devolver JSON desde un servicio web 2.0 asmx
- 24. serializar excepciones a JSON con la primavera-mvc
- 25. Primavera 3.1 Formato de fecha JSON
- 26. ¿Qué es mejor, el regreso "ModelAndView" o "cadena" en el controlador Spring3
- 27. Devolver el objeto Json de la acción del controlador a jQuery
- 28. Devolver JSON desde un servicio RESTful usando CXF DOSGI
- 29. primavera @ResponseBody Json cíclica Referencia
- 30. devolver una lista de cadenas como JSONResult
Spring tiene 'ContentNegotiatingViewResolver', que puede devolver dinámicamente la vista" derecha "según el sufijo o el encabezado 'Aceptar'. [enlace] (http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-multiple-representations). Usted proporciona el modelo y la vista en 'ModelAndView', deje que Spring haga la resolución de la vista. – Hong