Existen múltiples librerías para poder manipular contenido en JSON con Java y ya hemos visto cómo podemos crear objeto JSON con GSON. En este caso vamos vamos a crear objeto JSON con JSON-Simple mediante código Java. Así podremos comparar ambas librerías y ver cuál se adapta más a nuestras necesidades.
JSON-Simple es una librería ligera que nos permite serializar y deserializar contenido en JSON. A día de hoy es mantenida por los Clifton Labs.
Lo primero de todo será importar la librería JSON-Simple. Para ello lo que hemos hecho es añadir una dependencia Maven en nuestro pom.xml.
<dependency> <groupId>com.github.cliftonlabs</groupId> <artifactId>json-simple</artifactId> <version>3.1.0</version> </dependency>
Dentro de nuestro código deberemos de realizar la importación de la clase JsonObject
que es la que nos permitirá crear el objeto JSON.
import com.github.cliftonlabs.json_simple.JsonObject;
Para crear objeto JSON con JSON-Simple deberemos de instanciar la clase JsonObject
.
JsonObject json = new JsonObject();
Ahora que ya tenemos el objeto lo que haremos será utilizar el método .put()
para ir añadiendo propiedades al objeto JSON. El método .put()
recibe como parámetro el nombre del atributo que queremos añadir al objeto y el valor de dicho atributo.
De esta manera, si queremos añadir dos atributos con el nombre y edad de una persona lo podríamos hacer de la siguiente forma:
json.put("name", "Víctor"); json.put("age", 42);
Podemos volcar por consola el contenido de nuestro objeto JSON en formato cadena mediante el método .toString()
que también nos ofrece la clase JsonObject. De esta manera podremos comprobar que el objeto que vamos creando se hace de la forma correcta.
System.out.println(json.toString());
El código completo de nuestro programa nos quedaría de la siguiente forma:
public class CrearJSON { public static void main(String[] args) { JsonObject json = new JsonObject(); json.put("name", "Víctor"); json.put("age", 42); System.out.println(json.toString()); } }
Se puede comprobar que es muy sencillo crear objeto JSON con JSON-Simple desde código Java.