octubre 18, 2021

BitCuco

¡Hola Mundo!

¿Cómo crear un JSON? y también Parsearlo

cómo crear un json

JSON se conoce como el estándar de intercambio de datos, lo que implica textualmente que puede usarse como formato de datos donde sea que ocurra el intercambio de datos. Aquí te mostramos cómo crear un JSON y cómo parsearlo.

¿Qué es un JSON?

Un intercambio de datos puede ocurrir entre el navegador y el servidor e incluso de servidor a servidor, en su caso. Por supuesto, estos no son los únicos medios posibles para intercambiar JSON, y dejarlo en esos dos sería bastante limitante.

En resumen, JSON es una representación textual definida por un pequeño conjunto de reglas de gobierno en las que se estructuran los datos. La especificación JSON establece que los datos pueden estructurarse como:

1. Una colección de pares de etiqueta y valor
2. Una lista ordenada de valores


Estructuras compuestas

Como los orígenes de JSON provienen de la estandarización ECMAScript, las implementaciones de las dos estructuras se representan en las formas del objeto y la matriz. Crockford describe las dos representaciones estructurales de JSON a través de una serie de diagramas de sintaxis.

cómo crear un json

Como se describe en el diagrama, una colección comienza con el uso de la llave de apertura ({) y termina con el uso de la llave de cierre (}).

El contenido de la colección puede estar compuesto por cualquiera de las siguientes tres rutas designadas posibles:

  • La ruta superior ilustra que la colección puede permanecer desprovista de cualquier par cadena / valor.
  • La ruta intermedia ilustra que nuestra colección puede ser la de un solo par cadena / valor.

  • La ruta inferior ilustra que después de que se proporciona un solo par cadena / valor, la colección no necesita finalizar, sino que permite cualquier número de pares cadena / valor antes de llegar al final. Cada par cadena / valor que posee la colección debe delimitarse o separarse entre sí mediante una coma (,).

Por ejemplo podemos crear un JSON en forma de pares o etiqueta / valor de ésta forma:

//Colección vacía
{}
//Un solo par {“saludo”:”hola mundo”}

//JSON con varios pares etiqueta-valor
{“microsoft”:”Bill Gates”,”apple”:”Tim Cook”}

O también podemos crear listas ordenadas

//Lista ordenada vacía
[]
//Lista ordenada de un valor [“computadora”]
//Lista ordenada con varios valores [0,”1″,2,3,4,5]

También podemos crear un nested JSON, como los ejemplos de abajo:

//Con array
[
    {  "saludo": "hola" },
    [ 0, "1",  2, 3, 4, 5 ]
]

//Con objeto
 {
     "objeto": { 
         "array": [true]
     } 
 } 

¿Cómo crear un JSON?

Las cadenas de texto en formato JSON ayudan al paso de parámetros utilizando una sola cadena de texto, por ejemplo para pasar todos los parámetros a una variable o atributo para enviarlos a través de una petición GET. Para ello es necesario escapar las comillas ” usando backslash así: \”

Por ejemplo un String cuyo contenido interior es un JSON (En el ejemplo usamos javascript, pero el formato sirve para otros lenguajes también)

var stringJson = "{\"saludo\":\"hola mundo\",\"despedida\":\"hasta luego\"}";

De este modo tenemos un solo String, con un Json adentro. En Javascript podemos ahorrarnos el proceso de escapar las comillas usando Stringify y declaramos el JSON directamente usando JSON.stringify:

var persona = {nombre: "Pedro", edad: 23, ciudad: "Colima"};
var stringJson = JSON.stringify(persona);
console.log(stringJson)

En donde persona es un objeto del tipo json y stringJson es una string que contiene el json escapado.

Cómo crear un parseo de JSON

Para crear al inverso (o parsear) un string (cadena) de vuelta al formato de objeto Json, es muy sencillo al usar JSON.parse:

var stringJson = "{\"nombre\": \"Pedro\", \"edad\":\"23\", \"ciudad\": \"Colima\"}";
var persona = JSON.parse(stringJson);
document.getElementById("demo").innerHTML = persona.nombre; 

En donde obtenemos como resultado el nombre de la persona.

¿Cómo crear un JSON? – Usos

Crear un JSON es bastante útil cuando requerimos simplificar el envío o recepción de datos, por ejemplo en una solicitud http.

La ventaja adicional es que al ser un solo dato único, delimitado y bien estructurado, de la misma forma fácil para crear un JSON, se parsea, haciendo de éste estándar uno de los métodos más utilizados para el envío de datos.

No obstante, a diferencia del envío de datos diferido o distribuido en diferentes variables, debemos de cuidar siempre la estructura, tanto en el emisor, como el receptor, para que el dato no se corrompa.

Se recomienda que si el desarrollador de front y de backend no es el mismo, se pongan de acuerdo en los nombres utilizados, o incluirlo en la documentación, para estar coordinados en los nombres de las variables a parsear y disminuyan las posibles inconsistencias.

Nested JSON

Como Json se maneja por medio de niveles, el proceso de escapado y parseo se realiza en cada nivel, siempre y cuando en cada nivel tengamos un Json asociado (como en el caso de los nested Json). En otro momento explicaremos como parsear un nested Json.

Sobre el Autor

BitCuco

BitCuco. El Blog para los desarrolladores emergentes.