Deserlizar y Serializar Listas de objetos con JSONDeserializer (flexJson)


 DESERIALIZAR LISTAS:

Imaginemos que nuestro objeto se llama Persona y que queremos deserializar una lista de objetos (que vendra en formato JSON en la variable input:

Nos llega esta lista de objetos en formato JSON:
String input =
 "[{
    "name": "Antonio",
    "description": "El hijo de la Paqui"
},
{
    "name": "Pedro",
    "description": "El hijo de Angelita, la del pueblo."
},
{
    "name": "Luis",
    "description": "Si hombre, el que vive cerca de la ria."
},
{
    "name": "McBrain",
    "description": "EL bateria de los Maiden"
}]";

1.Primero preparar el desarializador:
JSONDeserializer<List<Persona >> deserializer = new JSONDeserializer<List<Persona >>().use("values", Persona .class);

*Nota: el "values" es un literal estandar de Flex Json que indica que debe usar para deserializar cada objeto de la lista.

2.Ahora le pasamos el "raw" (la cadena JSON) al deserializador y recogemos la List:

List<Persona > tagList = deserializer.deserialize(input);


Y con esto ya tienes tu lista.



SERIALIZAR LISTAS:

0.Tienes tu lista de objetos asi:

List<Persona> personas = .....

1.Prepara el Serializador:

JSONSerializer serializer = new JSONSerializer();

2.Recogemos el resultado en formato JSON

String jsonRepresentation = serializer.deepSerialize(personas);



*Nota: El metodo deepSerializer recorre los objetos hijos que tenga Persona dentro y tambien los mete en el json. Si queremos solo deserializar la clase padre (Persona) usaremos el metodo serialize(persona)




Comentarios

Entradas populares de este blog

Reiniciar usuario de SVN Subversion

Conocer mi IP con Java

Subir campos Blob a BBDD (Oracle) con Java