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
Publicar un comentario