json - GWT Autobean: ¿cómo manejar listas?
(1)
He intentado evaluar la función GWT Autobean para decodificar / codificar objetos JSON a objetos de dominio para llamadas REST.
Siguiendo el ejemplo: http://code.google.com/p/google-web-toolkit/wiki/AutoBean#Quickstart
Pude convertir un objeto JSON singular a un objeto de dominio:
AutoBean<Person> personBean = AutoBeanCodex.decode(factory, Person.class, JsonResources.INSTANCE.json().getText());
donde JsonResources.INSTANCE.json () está devolviendo una cadena JSON.
Sin embargo, no he podido convertir una lista de objetos Person de JSON.
Sería útil, si alguien tiene un ejemplo de esto?
¡Gracias!
Bueno, la única forma en que puedo pensar es crear un autobean especial, que tendrá la propiedad List<Person>
. Por ejemplo:
public interface Result {
void setPersons(List<Person> persons);
List<Person> getPersons();
}
Y ejemplo json string:
{
persons:[
{"name":"Thomas Broyer"},
{"name":"Colin Alworth"}
]
}
ACTUALIZACIÓN : Solución cuando la entrada JSON es una matriz (como lo sugieren las persons[0]
en los comentarios) .Eg JSON se ve así:
[{"name":"Thomas Broyer"},{"name":"Colin Alworth"}]
Y el código de análisis se ve así:
AutoBeanCodex.decode(factory, Result.class, "{/"persons/": " + json + "}").getPersons();