Java

Parsear un JSON en Java

Hoy en día es muy común tener que consumir un Web Service desde una aplicación web o móvil para intercambiar datos de formato JSON. Es por ese motivo que en este tutorial aprenderemos a parsear un JSON en Java, esto puede ser de gran utilidad si estamos desarrollando una aplicación para Android.

Para comenzar con este tutorial primero vamos a descargar la librería json-simple que nos va a facilitar esta tarea. El JAR se lo pueden descargar desde: https://code.google.com/p/json-simple/downloads/list. Luego debemos importar el JAR como dependencia en nuestro proyecto. Si estamos utilizando Eclipse como IDE podemos hacer click derecho en nuestro proyecto e ir a “Properties -> Java Build Path -> Libraries -> Add External JARs” y seleccionar el archivo JAR descargado.

¿Cómo parsear un JSON en Java?

En el siguiente ejemplo podemos ver como parsear un texto de formato JSON utilizando el método estático parse de la clase JSONValue:

import org.json.simple.JSONArray;
import org.json.simple.JSONObject;
import org.json.simple.JSONValue;

public class JSONParser {

	public static void main(String[] args) {

		String s = "[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]";
		Object obj = JSONValue.parse(s);
		JSONArray array = (JSONArray) obj;
		System.out.println("======El segundo elemento del Array======");
		System.out.println(array.get(1));
		System.out.println();

		JSONObject obj2 = (JSONObject) array.get(1);
		System.out.println("======Campo \"1\"==========");
		System.out.println(obj2.get("1"));

		s = "{}";
		obj = JSONValue.parse(s);
		System.out.println(obj);

		s = "[5,]";
		obj = JSONValue.parse(s);
		System.out.println(obj);

		s = "[5,,2]";
		obj = JSONValue.parse(s);
		System.out.println(obj);
	}

}

Ahora si queremos hacer lo contrario, osea crear nuestro propio JSON en Java, tenemos que utilizar el objeto JSONObject de la siguiente forma:

import org.json.simple.JSONObject;

public class JSONParser {

	@SuppressWarnings("unchecked")
	public static void main(String[] args) {
		JSONObject obj = new JSONObject();
		obj.put("name", "foo");
		obj.put("num", new Integer(100));
		obj.put("balance", new Double(1000.21));
		obj.put("is_vip", new Boolean(true));
		obj.put("nickname", null);
		System.out.print(obj);
	}

}

Bueno gente, esto es todo por hoy espero que les sea de gran utilidad. Si quieren saber un poco más sobre esta librería les recomiendo ver la documentación oficial en: https://code.google.com/p/json-simple.

Compartilo en
Share on FacebookTweet about this on TwitterShare on Google+Share on LinkedInPin on PinterestEmail this to someone

AboutJosé Di Meglio

Apasionado de la tecnología y programación. Aportando información gratuita sobre el mundo de la informática.

Deja un comentario

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