Como consumir datos JSON en Java (Parte 1)



Introducción

JSON es uno de los formatos mas populares hoy en día para manejar información. En esta ocasión veremos como obtener datos JSON y mostrarlos en pantalla utilizando Java. Los datos de ejemplo provienen de https://jsonplaceholder.typicode.com/comments.

Código


 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
package jsonexample;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;


public class JsonExample {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
           
        //Escribimos el código dentro de un bloque try - catch, si ocurrre
        //un error, lo capturamos y mostramos el mensaje correspondiente
        try {
            
            //establecemos la url que itilizaremos para obtener los datos
            URL miUrl = new URL("https://jsonplaceholder.typicode.com/comments");
            
            //abrimos una conexion HTTP
            HttpURLConnection conexion = (HttpURLConnection) miUrl.openConnection();
            
            //le indicamos el método de solicitud que utilizaremos, 
            //en este caso GET
            conexion.setRequestMethod("GET");
            
            //indicamos que recibiremos datos en formato JSON
            conexion.setRequestProperty("Accept", "application/json");
            
            //leeemos la respuesta de la petición y la colocamos en un buffer
            InputStreamReader isr = new InputStreamReader(conexion.getInputStream());
            BufferedReader br = new BufferedReader(isr);
            
            //iteramos el buffer leyendo una línea a la vez y la imprimimos
            String linea;
            
            while ((linea = br.readLine()) != null) {
                
                System.out.println(linea);
                
            }
            
            //por último liberamos la conexión
            conexion.disconnect();
         
          //en caso de que ocurra un excepción mostramos el mensaje de error  
        } catch (Exception ex) {
            System.out.println("Excepción: " + ex.getMessage());
        }
               
        
    }
    
}


Salida de ejemplo

Al ejecutar el código deben obtener una salida similar a esta:



Referencias

Comentarios