JSON
JSON (JavaScript Object Notation) es un formato para organizar datos estructurados, que es fácil de interpretar por una aplicación y al mismo tiempo legible por un humano.
JSON Se utiliza principalmente para transmitir información entre aplicaciones.
Veamos un primer ejemplo de JSON en el que estamos representando un vuelo:
{
  "airline": "Oceanic",
  "status": "crashed",
  "departure": {
    "iata": "SYD",
    "time": "2004-09-22 14:55"
  }
}
JSON es parecido a un objeto de JavaScript pero con algunas diferencias importantes:
- Los nombres de las propiedades deben estar entre comillas.
 - Los valores pueden ser de los siguientes tipos únicamente: String, Number, Boolean, Array, JSON Object.
 
Ejemplos válidos de JSON
{
  "count": 2,
  "records": [
    { "brand": "Renault", "color": "red", "released": true },
    { "brand": "Chevrolet", "color": "black", "released": false },
  ]
}
El elemento raíz puede ser un arreglo:
[
  { "brand": "Renault", "color": "red", "released": true },
  { "brand": "Chevrolet", "color": "black", "released": false },
]
Ejemplo inválidos de JSON
Los nombres de las propiedades deben estar encerrados en comillas:
{
  nombre: "Pedro"
}
Los valores no pueden ser diferentes a los mencionados anteriormente:
{
  time: new Date(),
  hello: function() { return "Esto está mal"; }
}
De JSON a objeto JavaScript y viceversa
Una ventaja de JSON es que puede ser convertido a un objeto de JavaScript fácilmente utilizando JSON.parse:
let obj = JSON.parse('{ "name": "Pedro" }');
console.log(obj.name); // Pedro
También es posible convertir un objeto de JavaScript a JSON con JSON.stringify:
JSON.stringify({ name: "Pedro" }); // '{ "name": "Pedro" }'