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.
De verdad que muchas gracias fue de mucha ayuda saludos.
Hola:
Me ha gustado mucho el artículo, enhorabuena 🙂 . Yo escribí hace un tiempo un pequeño artículo para aprender a validar ficheros JSON desde consola en GNU/Linux 😀 . Dejo la URL por si es útil para otros visitantes.
https://www.raulprietofernandez.net/blog/pequenos-trucos/como-validar-ficheros-json-desde-consola-en-gnu-linux
Un saludo 🙂
Gracias por el aporte. Un saludo.