Jackson - Primera aplicación
Antes de entrar en los detalles de la biblioteca jackson, veamos una aplicación en acción. En este ejemplo, hemos creado la clase Student. Crearemos una cadena JSON con los detalles del alumno y la deserializaremos en el objeto del alumno y luego la serializaremos en una cadena JSON.
Cree un archivo de clase java llamado JacksonTester en C:\>Jackson_WORKSPACE.
Archivo: JacksonTester.java
import java.io.IOException;
import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class JacksonTester {
public static void main(String args[]){
ObjectMapper mapper = new ObjectMapper();
String jsonString = "{\"name\":\"Mahesh\", \"age\":21}";
//map json to student
try{
Student student = mapper.readValue(jsonString, Student.class);
System.out.println(student);
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);
System.out.println(jsonString);
}
catch (JsonParseException e) { e.printStackTrace();}
catch (JsonMappingException e) { e.printStackTrace(); }
catch (IOException e) { e.printStackTrace(); }
}
}
class Student {
private String name;
private int age;
public Student(){}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
public String toString(){
return "Student [ name: "+name+", age: "+ age+ " ]";
}
}
Verify the result
Compila las clases usando javac compilador de la siguiente manera:
C:\Jackson_WORKSPACE>javac JacksonTester.java
Ahora ejecute jacksonTester para ver el resultado:
C:\Jackson_WORKSPACE>java JacksonTester
Verificar la salida
Student [ name: Mahesh, age: 21 ]
{
"name" : "Mahesh",
"age" : 21
}
Pasos para recordar
Los siguientes son los pasos importantes que se deben considerar aquí.
Paso 1: Cree el objeto ObjectMapper.
Cree el objeto ObjectMapper. Es un objeto reutilizable.
ObjectMapper mapper = new ObjectMapper();
Paso 2: Desserializar JSON a un objeto.
Utilice el método readValue () para obtener el objeto del JSON. Pase la cadena json / fuente de la cadena json y el tipo de objeto como parámetro.
//Object to JSON Conversion
Student student = mapper.readValue(jsonString, Student.class);
Paso 3: serializar el objeto en JSON.
Utilice el método writeValueAsString () para obtener la representación de cadena JSON de un objeto.
//Object to JSON Conversion
jsonString = mapper.writerWithDefaultPrettyPrinter().writeValueAsString(student);