JSON: Aprende qué es y por qué lo necesitas

Última actualización: 29/10/2023 – Oscar Fernandez

Si te estás preguntando qué es el formato JSON, cómo representa los datos y por qué resulta útil, no te preocupes. Esta forma de representación y serialización de datos es de las más populares para compartir datos entre aplicaciones. Si quieres aprender más y cómo usarlo no te pierdas esta entrada.

Aprende qué es JSON y por qué lo necesitas

¿Qué es JSON?

JSON es un formato de intercambio de datos de tipo texto que permite transmitir objetos de datos con su estructura autocontenida. Este texto se escribe con notación de objetos de JavaScript (JavaScript Object Notation) y la extensión de estos ficheros es «.json». Soporta varios tipos de datos, como String, Boolean, Number, Objetos, Arrays y Null.

{
    "id": 1,
    "nombre": "oscar",
    "edad": 6,
    "paises": [
        "españa",
        "francia"
    ],
    "intereses": {
        "tecnologia": "big data",
        "programacion": "open source" 
    }
}

En el ejemplo anterior, vemos que se usan los tipos String, Number, Array y Objeto (Hashmap). Para los strings, es necesario usar comillas dobles y dos puntos para separar las claves de los valores asociados. Para separar los elementos se usa coma simple, y para separar los objetos se usan llaves. En el caso de los Arrays o listas, se usan corchetes.

¿Qué es la Serialización de Datos?

La serialización de datos consiste en convertir datos estructurados a un formato que nos permita compartirlos o almacenarlos fácilmente y posteriormente recuperarlos con su estructura original si fuera necesario. El formato en el que serializa debe ser entendido universalmente o por gran cantidad de sistemas y aplicaciones.

JSON es el formato de serialización de datos más extendido por su sintaxis sencilla y legible. Otros formatos similares son YAML y XML.

JSON Schema Registry

Kafka Schema Registry también puede configurarse para usar JSON como esquema de los datos. El serializador y el deserializador usado por los productores y los consumidores de Kafka fallará si el dato procesado no es válido para el esquema que hemos configurado. Por lo tanto, Schema Registry, actúa como un validador sencillo para los eventos que deseamos procesar.

¿Por qué usar JSON?

El uso principal de JSON es el intercambio de datos entre aplicaciones. Es un formato independiente del lenguaje, por lo que hay numerosas librerías que lo soportan y facilitan su utilización en cualquier lenguaje de programación moderno.

Además, se puede usar este formato para almacenar las propiedades de configuración de nuestras aplicaciones en ficheros de texto.

Algunas bases de datos NoSQL como MongoDB lo usan también para almacenar documentos con su esquema.

Leer y Escribir JSON en Spark

Con el framework de procesamiento de datos Apache Spark es muy sencillo leer y escribir datos en este formato. En el siguiente ejemplo de código Python, se lee un fichero y se escribe un DataFrame:

df = spark\
    .read\
    .option("multiline", "true") \
    .json(path1)

df.show()

df.write \
    .mode("overwrite") \
    .format("json") \
    # opción para comprimir los datos en gzip. También podemos usar deflate o bzip2
    .option("compression", "gzip")\ 
    .save(path2)

A continuación, tenemos un ejemplo con Scala. Podemos ver cómo interpretar este formato automáticamente a partir de una cadena de texto y determinar su esquema:

val acciones = sc.parallelize (
"""
[{"nombre":"leer","id":"1","tiempo":"2020-02-08T00:11:00Z"},
 {"nombre":"leer","id":"1","tiempo":"2020-02-08T00:12:00Z"}]
""" :: Nil)

val df = sqlContext.read.json(acciones)
df.show()

df.printSchema()
val schema_json=spark.read.json(acciones).schema.json

Formación y Siguientes Pasos

A continuación tienes mi recomendación de tres cursos que te facilitarán mucho aprender los conceptos básicos de JSON, a integrarlo en tus aplicaciones y manipularlo con varias herramientas. No te los pierdas.

Curso Redacción técnica de APIs: JSON y XML

Redacción técnica de APIs: JSON y XML

Este curso de introducción te permitirá familiarizarte con la representación de datos estructurados en JSON y XML y usarlos en las APIs de tus aplicaciones.

Curso Introducción a la notación de objetos JavaScript (JSON)

Introducción a la notación de objetos JavaScript (JSON)

El curso introduce todo lo que necesitarás saber sobre la sintaxis, tipos de datos, seguridad, frameworks y bases de datos.

Curso Crea aplicaciones basadas en JSON

Crea aplicaciones basadas en JSON

Por último, con este curso práctico aprenderás a integrar JSON en tus aplicaciones con varios lenguajes y APIs populares.

Preguntas Frecuentes JSON – FAQ

¿Para qué se usa JSON?

Esta notación o formato se usa para representar objetos de datos con sintaxis basada en JavaScript. El uso más frecuente es la transmisión de estos datos de una manera estándar entre aplicaciones web y sus componentes.

¿Es mejor JSON que XML?

JSON tiene una sintaxis más sencilla de leer que XML, lo que produce un código más limpio. Por el contrario, el formato XML es más potente y flexible al representar estructuras complejas.


Deja una respuesta