Leer y escribir JSON en Java

Hola a todos, hoy os explicaremos como podemos leer y escribir un JSON en Java.

JSON (JavaScript Object Native) nos sirve para almacenar información de distinta índole.

Realizaremos varios ejemplos, al final tienes el proyecto completo con todos los ejercicios para comprobarlos.

Vamos a trabajar inicialmente con este JSON en un fichero llamado datos.json en la raíz del proyecto:

Vamos a usar una biblioteca de Java llamada Gson que es de Google, que lo podéis descargar aquí.

Una vez lo tengamos importado en nuestro proyecto, lo primero que haremos es crear una instancia de Gson:

Ahora tenemos que leer ese fichero, os dejo como leerlo línea a línea:

Ahora, para obtener las propiedades haremos lo siguiente:

IMPORTANTE: esto solo servirá si no tiene ningún array el JSON. Veremos como se hace después.

Para pintar estas propiedades, haremos esto:

Este seria el resultado:

 

Lo más normal seria que guardásemos estos datos en un objeto, pues creamos una clase llamada Persona:

Con Gson, podemos crear un objeto persona así (recuerda que ya tengo el gson creado y el fichero):

Este es el resultado:

 

También podemos hacer lo inverso, de un objeto podemos crear su JSON:

Este es el resultado:

Como es un String se puede guardar en un JSON:

Como comente antes, podemos tener un array dentro del objeto:

Dentro de ese array, estamos metiendo objetos de tipo asignatura:

Actualizamos la clase de persona, añadiéndole un array de Asignaturas:

Entonces, si hacemos el anterior ejemplo deberíamos ver este resultado:

Podéis descargar el proyecto completo por aquí.

También os dejo un video donde hablo del tema:

Espero que os sea de ayuda. Si tenéis dudas, preguntad. Estamos para ayudarte.

Compartir

1 comentario

  1. alvaro

    Como se puede hacer si en el archivo json tenemos una lista de objetos?

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *


Warning: Trying to access array offset on value of type null in /home2/discodur/public_html/discoduroderoer/wp-content/themes/disto/single.php on line 539