Introducción a JSON

JSON es un gran formato para almacenar datos, ampliamente utilizado en JavaScript, pero no solo: ¡descúbralo todo!

JSON es un formato de archivo que se utiliza para almacenar e intercambiar datos.

Los datos se almacenan en un conjunto de pares clave-valor.

Estos datos son legibles por humanos, lo que hace que JSON sea perfecto para la edición manual.

A continuación, se muestra un ejemplo de una cadena JSON:

{
  "name": "Flavio",
  "age": 35
}

En este pequeño fragmento, puede ver que las claves están entre comillas dobles, dos puntos separan la clave y el valor, y el valor puede ser de diferentes tipos.

Los conjuntos de valores-clave están separados por una coma.

El espaciado (espacios, tabulaciones, nuevas líneas) no importa en un archivo JSON. Lo anterior es equivalente a

{"name": "Flavio","age": 35}

o

{"name":
"Flavio","age":
35}

pero, como siempre, es mejor comprender los datos bien formateados.

JSON nació en 2002 y se hizo muy popular gracias a su facilidad de uso y flexibilidad, y aunque nació fuera del mundo de JavaScript, se extendió rápidamente a otros lenguajes de programación.

Está definido en elEstándar ECMA-404.

Las cadenas JSON se almacenan comúnmente en.jsonarchivos y transmitidos a través de la red con unapplication/jsonTipo de Mimica.

Tipos de datos

JSON admite algunos tipos de datos básicos:

  • Number: cualquier número que no esté entre comillas
  • String: cualquier conjunto de caracteres entre comillas
  • Boolean:trueofalse
  • Array: una lista de valores, entre corchetes
  • Object: un conjunto de pares clave-valor, entre llaves
  • null: lanullpalabra, que representa un valor vacío

Cualquier otro tipo de datos debe serializarse en una cadena (y luego deserializarse) para poder almacenarse en JSON.

Codificar y decodificar JSON en JavaScript

ECMAScript 5 en 2009 introdujo elJSONobjeto en el estándar JavaScript, que entre otras cosas ofrece laJSON.parse()yJSON.stringify()métodos.

Antes de que pueda usarse en un programa JavaScript, un JSON en formato de cadena debe analizarse y transformarse en datos que JavaScript pueda usar.

JSON.parse()toma una cadena JSON como parámetro y devuelve un objeto que contiene el JSON analizado:

JSON.stringify()toma un objeto JavaScript como parámetro y devuelve una cadena que lo representa en JSON:

JSON.parse()can también acepta un segundo argumento opcional, llamado función reviver. Puede usar eso para conectarse al análisis y realizar cualquier operación personalizada:

JSON.parse(string, (key, value) => {
  if (key === 'name') {
    return `Name: ${value}`
  } else {
    return value
  }
})

Anidar objetos

Puede organizar los datos en un archivo JSON utilizando un objeto anidado:

{
  "name": {
    "firstName": "Flavio",
    "lastName": "Copes"
  },
  "age": 35,
  "dogs": [
    { "name": "Roger" },
    { "name": "Syd" }
  ],
  "country": {
    "details": {
      "name": "Italy"
    }
  }
}

Herramientas en línea para trabajar con JSON

Hay muchas herramientas útiles que puede utilizar.

Uno de ellos esJSONLint, el validador JSON. Al usarlo, puede verificar si una cadena JSON es válida.

JSONFormatteres una buena herramienta para formatear una cadena JSON para que sea más legible de acuerdo con sus convenciones.

Esquema JSON

Si bien JSON es muy flexible desde el principio, hay ocasiones en las que necesita una organización un poco más rígida para mantener las cosas en su lugar.

Esto es cuandoEsquema JSONentra en juego. Es una forma de anotar y validar documentos JSON de acuerdo con algún formato específico que cree.


Más tutoriales de js: