Analizando JSON en Spring MVC usando Jackson JSON

Ok, entonces he estado mirando esto por un tiempo y no estoy más allá. Tengo un servlet Spring MVC que necesito para aceptar JSON desde una aplicación web front-end de JavaScript. Para analizar el JSON, necesito usar Jackson. Necesito tomar los valores dentro de JSON y almacenarlos en una lista en el orden en que aparecen en el JSON. Intenté usar JsonFactory con los objetos JsonParser y JsonNode pero puedo hacer que funcione. También intenté simplemente abrir un BufferedReader e iterar por el cuerpo de la solicitud línea por línea, pero de nuevo tampoco puedo conseguirlo. He visto un par de preguntas relacionadas aquí, pero ninguna hasta el momento me ha funcionado.

¿Podría alguien que esté enterado señalarme en la dirección correcta aquí, por favor, una página web con un ejemplo sería genial!

El objective de utilizar una tecnología de mapeo como Jackson es que puedes usar Objetos (no tienes que analizar el JSON por ti mismo).

Defina una clase Java que se asemeje al JSON que esperará.

por ejemplo, este JSON:

{ "foo" : ["abc","one","two","three"], "bar" : "true", "baz" : "1" } 

podría ser mapeado a esta clase:

 public class Fizzle{ private List foo; private boolean bar; private int baz; // getters and setters omitted } 

Ahora si tienes un método de controlador como este:

 @RequestMapping("somepath") @ResponseBody public Fozzle doSomeThing(@RequestBody Fizzle input){ return new Fozzle(input); } 

y pasa el JSON desde arriba, Jackson creará automáticamente un objeto Fizzle para usted, y serializará una vista JSON del objeto devuelto a la respuesta con la application/json tipo mime application/json .

Para un ejemplo completo de trabajo, vea esta respuesta anterior mía .

Estoy usando json lib de http://json-lib.sourceforge.net/
json-lib-2.1-jdk15.jar

 import net.sf.json.JSONObject; ... public void send() { //put attributes Map m = New HashMap(); m.put("send_to","my@admin.lan"); m.put("email_subject","this is a test email"); m.put("email_content","test email content"); //generate JSON Object JSONObject json = JSONObject.fromObject(content); String message = json.toString(); ... } public void receive(String jsonMessage) { //parse attributes JSONObject json = JSONObject.fromObject(jsonMessage); String to = (String) json.get("send_to"); String title = (String) json.get("email_subject"); String content = (String) json.get("email_content"); ... } 

Más ejemplos aquí http://json-lib.sourceforge.net/usage.html