Icono play
Java
JSON Parser

Desde hace ya un tiempo, se ha incrementado el uso JSON  (JavaScript Object Anotation) como el formato para transferir o intercambiar datos. Aunque en un principio únicamente se utilizaba en el desarrollo de aplicaciones de JavaScript, su sencillez lo ha convertido en una opción al formato XML, que era el más conocido hasta hace poco.

Ahora bien, el hecho de que sea sencillo no quiere decir que no sea imprescindible emplear un JSON Parser para acceder a los datos que contenga un archivo de este tipo.

¿Qué es JSON Parser?

Parsear o analizar un archivo JSON no es otra cosa que extraer la información que necesitamos y que está contenida y escrita en el formato JSON. Estos archivos contendrán información estructurada de dos formas claramente diferenciadas:

  • Objetos constituidos por una paridad nombre/valor.
  • Arrays en Java que contienen listas ordenadas de valores.

Algunas de las librerías disponibles para parsear archivos JSON en Java son: org.json, JsonPATH y Gson.

¿Cómo parsear un archivo JSON en Java?

Para analizar o parasear un JSON en Java es necesario que nos familiaricemos con el uso de algunas librerías que contienen las herramientas que requeriremos para hacer este trabajo.

Una de estas librerías es org.json que tiene unas cuantas clases que nos van a permitir construir, analizar y extraer información de los archivos JSON. Para hacer uso de esta herramienta tendremos que incluirla en nuestros proyectos, habiéndola instalado previamente.

¿Cómo funciona org.json (JSON Parser)?

En primer lugar, es necesario convertir el contenido del archivo en objetos, recordemos que para Java todos los componentes de un proyecto son objetos. Una vez logrado esto será necesario que determinemos el tipo de estructuras que contiene el archivo.

Esto porque cada estructura deberá ser extraída utilizando métodos diferentes según sea el caso.

A continuación veremos un ejemplo de cómo se parsea un archivo JSON con esta librería en particular.

Ejemplo JSON Parser

En primer lugar, tenemos el archivo JSON que se ve como sigue:

{
 "credenciales": {
   "usuario": "openbootcamp",
   "clave": "EstoEs1clave^_^",
   "videos": [
     "Primera sesión",
     "Segunda sesión",
     "Tercera sesión"
   ]
 }

Ahora tenemos el código necesario para parsear este archivo JSON:

package ejemploJSON;

import java.io.InputStream;
import java.io.FileInputStream;

/*es necesario importar la librería para poder usar las clases 
y métodos que contiene*/
import org.json.*;

public class Main {

    public static void main(String[] args) {
        try {
            // Creamos el inputstream desde un fichero
            InputStream is = new FileInputStream("datos.json");

            // Creamos un tokenizador que leera desde nuestro IS
            JSONTokener tokener = new JSONTokener(is);

            // Y se lo pasamos a una instancia de la clase JSONObject
            JSONObject obj = new JSONObject(tokener);

            // Sacamos las credenciales usando el método getJSONObjetc
            JSONObject credenciales = obj.getJSONObject("credenciales");

            String usuario = credenciales.getString("usuario");
            String clave = credenciales.getString("clave");
            System.out.println("Usuario " + usuario + " clave " + clave);

            // Dentro de credenciales tenemos los videos:
            JSONArray videos = credenciales.getJSONArray("videos");
            for (Object video: videos) {
                System.out.println(video.toString());
            }

        } catch (Exception e) {
            System.out.println("No puedo leer el fichero: " + e.getMessage());
        }
    }
¿Todavía no te has apuntado a nuestro Bootcamp?
Tenemos muchos cursos para ofrecerte y ¡TOTALMENTE GRATIS! Estos son algunos de ellos: