Cita:
Iniciado por ElAthlit Hola,
un json es solamente un String más, como cualquier string de un input. Deberías poder recuperarlo con un request.getParameter("como_lo_llames");
Y con Gson o Jackson convertirlo a objeto.
Saludos
Hola! Muchas gracias por tu respuesta. La solución de usar getParameter() la he visto mucho en internet, pero creo que sólo funciona cuando empleamos Jquery. Si te das cuenta, mi código no usa Jquery sino que emplea el XMLHttpRequest. Yo intenté usar getParameter(), pero siempre arroja null en el campo que quiero recuperar. He logrado ensamblar una solución parcial empleando la librería Gson y visitando varios posts en diferentes sitios que luce más o menos así:
Código Java:
Ver originalpublic static class PostData //Se declara una clase con una estructura similar al JSON que se recibe
{
List<String> skills;
public String getName
() { return name
; }
public String getAge
() { return age
; }
public String getCountry
() { return country
; }
public List<String> getSkills() { return skills; }
public PostData() { }
}
protected void doPost
(HttpServletRequest request, HttpServletResponse response
) throws ServletException,
IOException {
BufferedReader reader
= request.
getReader(); //Se toma la fuente de datos de la solicitud Gson gson = new Gson(); //Se crea un objeto JSON con la librería de Google
PostData data = gson.fromJson(reader, PostData.class); //Se instancia la clase Data como un objeto JSON que apunta a la fuente de datos
//Se imprimen los datos dentro del JSON
System.
out.
println("Nombre: " + data.
getName()); System.
out.
println("Edad: " + data.
getAge()); System.
out.
println("País: " + data.
getCountry());
for (int i = 0; i < data.skills.size() ; i++)
{
System.
out.
println("Conocimiento " + i
+ ": " + data.
skills.
get(i
).
toString()); }
}