Ya hemos visto lo sencillo que es manejar la librería JSON-Simple a la hora de crear un objeto JSON. Ahora vamos a ver cómo podemos convertir un objeto a JSON con JSON-Simple.
Esto nos va a ser útil en situaciones en las cuales tengamos que enviar este JSON por ejemplo a otro servicio, lo normal será a un REST, de tal manera que trabajemos con objetos y sus correspondientes métodos la lógica de negocio de nuestra aplicación, vayamos manipulando los datos que necesitemos y lo convirtamos a JSON solamente en el momento de invocar a los servicios REST que necesiten del formato JSON.
Lo primero que haremos será incluir la librería JSON-Simple mantenida por Clifton Labs dentro de nuestras dependencias Maven. Para ello lo que vamos es a modificar nuestro fichero pom.xml con el siguiente contenido.
<dependency> <groupId>com.github.cliftonlabs</groupId> <artifactId>json-simple</artifactId> <version>3.1.0</version> </dependency>
Y al principio del programa importaremos la librería. En este caso, en concreto será la clase Jsoner.
import com.github.cliftonlabs.json_simple.Jsoner;
Como lo que vamos a hacer es convertir un objeto a JSON con JSON-Simple lo primero que necesitaremos será tener un objeto. Para ello nos definimos una sencilla clase persona que contenga un nombre y una edad.
public class Persona {
String nombre;
int edad;
public Persona(){}
public Persona(String nombre,int edad){
this.nombre = nombre;
this.edad = edad;
}
public int getEdad() {
return edad;
}
public void setEdad(int edad) {
this.edad = edad;
}
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
}
E instanciaremos un objeto de esta clase:
Persona persona = new Persona("Mari Cielo",22);
Ahora vamos a utilizar la clase Jsoner de JSON-Simple. Esta clase tiene un método estático, que no necesita instanciación de la clase, que nos permite convertir un objeto a JSON. El método en concreto es .serialize(). Este método recibe como parámetro el objeto que acabamos de crear.
Jsoner.serialize(persona);
Lo que nos devuelve es una cadena, la cual podemos simplemente mostrar por pantalla.
System.out.println(Jsoner.serialize(alumno));
De esta forma tan sencilla hemos conseguido el convertir un objeto a JSON con JSON-Simple de una forma sencilla y mediante una única sentencia dentro de nuestro código fuente.
¿Qué más cosas se te ocurre hacer con un objeto JSON para probar la librería JSON-Simple?

