JSON
Miguel Ortuño
Escuela de Ingenierı́a de Fuenlabrada
Universidad Rey Juan Carlos
Diciembre de 2023
Miguel Ortuño - 2023 JSON 1
©2023 Miguel Ortuño
Algunos derechos reservados.
Este trabajo se distribuye bajo la licencia
Creative Commons Attribution Share-Alike 4.0
Miguel Ortuño - 2023 JSON 2
Introducción a JSON
JSON
Es un formato ligero para intercambiar datos, independiente del
lenguaje de programación y de la plataforma
Los datos se codifican sobre una cadena de texto utf-8
Estándar abierto, RFC 4627, año 2006
Originalmente se consideraba subconjunto del lenguaje
JavaScript y se denominaba JavaScript Object Notation,
aunque ya no es parte de JavaScript
Diseñado como alternativa a XML, más ligero. Actualmente
es más popular que XML
Carece de algunas caracterı́sticas de XML, por ejemplo
gramáticas o diferencia entre texto y metadato
Miguel Ortuño - 2023 JSON 3
Introducción a JSON
Value
Fuente:json.org
Un valor JSON puede ser un número, una cadena, un array o
un objeto, además de las constantes true, false y null
Igual que JavaScript. Excepto que undefined no es un valor
JSON
Miguel Ortuño - 2023 JSON 4
Introducción a JSON
Number
Fuente:json.org
Los números son como las constantes numéricas de cualquier
lenguaje de programación moderno
Miguel Ortuño - 2023 JSON 5
Introducción a JSON
String
Fuente:json.org
Las cadenas son como las de cualquier lenguaje de
programación moderno
El delimitador es la comilla doble
JavaScript admite la comilla doble y la simple, aunque la más
habitual es la simple
Miguel Ortuño - 2023 JSON 6
Introducción a JSON
Array
Fuente:json.org
Un array es una secuencia de valores entre corchetes,
separados por comas
Igual que JavaScript
Miguel Ortuño - 2023 JSON 7
Introducción a JSON
Objetos
Fuente:json.org
Un objeto es una secuencia de pares clave:valor, separados por
comas
Las claves son cadenas
Igual que JavaScript
Miguel Ortuño - 2023 JSON 8
Introducción a JSON
Ejemplos correctos
"hola, mundo"
4243.12
-947e-5
null
[1,2,3,4]
Miguel Ortuño - 2023 JSON 9
Introducción a JSON
[1, "azul", [1,2,3]]
[
1,
"azul",
[
1,
2,
3
]
]
["as" , "dos", "tres"]
["sota", "caballo", "rey"]
[
"sota",
"caballo",
"rey"
]
Miguel Ortuño - 2023 JSON 10
Introducción a JSON
{ "nombre":"Juan", "apellido":"Pérez"}
{ "v1":true, "v2":null, "v3":false}
{ "nombre": "Juan", "notas":[5.5, 7.2, 6.1]}
{
"nombre": "Juan",
"notas": [
5.5,
7.2,
6.1
]
}
Miguel Ortuño - 2023 JSON 11
Introducción a JSON
Ejemplos incorrectos
True
'hola, mundo'
{"hola,mundo"}
{1:"uno", 2:"dos"}
Miguel Ortuño - 2023 JSON 12
Funciones para procesar JSON
Conversión de objeto en cadena JSON
En JavaScript, para convertir un objeto en una cadena JSON
usamos la built-in function JSON.stringify
'use strict'
let lista=[ "sota", "caballo", "rey" ];
console.log(typeof(lista),lista);
// object ["sota","caballo","rey"]
let cadena=JSON.stringify(lista);
console.log(typeof(cadena),cadena);
// string ["sota","caballo","rey"]
Miguel Ortuño - 2023 JSON 13
Funciones para procesar JSON
Conversión de cadena JSON en objeto
Para convertir una cadena de texto con un JSON en un objeto
JavaScript, disponemos de la built-in function JSON.parse
'use strict'
let cadena='{ "nombre":"redes", "curso":1,
"horario":["L1500", "X1700"] }'
console.log(typeof(cadena),cadena);
// string
//{"nombre":"redes", "curso":1, "horario":["L1500", "X1700"] }
let objeto=JSON.parse(cadena);
console.log(typeof(objeto),objeto);
// object
//{ nombre: 'redes', curso: 1, horario: [ 'L1500', 'X1700' ] }
Si la cadena no cumple el formato JSON, se genera una excepción
SyntaxError
Miguel Ortuño - 2023 JSON 14