Cómo devolver los datos JSON del controlador de spring utilizando @ResponseBody

Spring versión 4.2.0, Hibernate 4.1.4 Aquí está mi función de Controller :

 @RequestMapping(value = "/mobile/getcomp", method = RequestMethod.GET) @ResponseBody public List listforCompanies() { List listOfCompanies= new ArrayList(); listOfCompanies = companyManager.getAllCompanies(); return listOfCompanies; } 

La dependencia del mapeador Jackson JSON en Pom.xml :

    org.codehaus.jackson jackson-mapper-asl ${jackson.version}  

Obteniendo la lista en mi ArrayList , pero al mostrar el siguiente error se muestra:

 SEVERE: Servlet.service() for servlet [dispatcherServlet] in context with path [/IrApp] threw exception [Request processing failed; nested exception is java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList] with root cause java.lang.IllegalArgumentException: No converter found for return value of type: class java.util.ArrayList at org.springframework.util.Assert.isTrue(Assert.java:68) at org.springframework.web.servlet.mvc.method.annotation.AbstractMessageConverterMethodProcessor.writeWithMessageConverters(AbstractMessageConverterMethodProcessor.java:124) 

Enlace al ejemplo que estoy siguiendo.

Agregue la dependencia a continuación a su pom.xml:

  com.fasterxml.jackson.core jackson-databind 2.5.0  

Estaba enfrentando el mismo problema. No puse @ResponseBody porque estaba usando @RestController . Pero aún estaba recibiendo un error porque no puse el método getter/setter para la clase Company. Entonces, después de poner getter/setter mi problema fue resuelto.

También debe asegurarse de que el bean devuelto no esté vacío (y pueda ser serializado por Jackson). En mi caso particular, traté de devolver una instancia de un objeto sin getters y setters y sin ninguna anotación jackson y con fields igual a null. Recibí el siguiente mensaje:

 com.fasterxml.jackson.databind.JsonMappingException: No serializer found for class com.foo.bar.Baz and no properties discovered to create BeanSerializer (to avoid exception, disable SerializationFeature.FAIL_ON_EMPTY_BEANS) ) 

Cuando me enfrentaba a este problema, simplemente pongo métodos get setter y mis problemas se resolvieron.

Estoy usando Spring boot versión 2.0.

Teniendo en cuenta la respuesta de @Arpit, para mí funcionó solo cuando agregué dos dependencias de jackson:

  com.fasterxml.jackson.core jackson-core 2.4.3   com.fasterxml.jackson.core jackson-databind 2.4.3  

y configurado, de causa, web.xml .

La respuesta original que me ayudó está aquí: https://stackoverflow.com/a/33896080/3014866

En mi caso, estaba usando jackson-databind-2.8.8.jar que no es compatible con JDK 1.6 . Necesito usarlo para que Spring no cargue este convertidor. Degradé la versión y funciona ahora.