Curso 2024-25 - IES El Rincón
Proyecto mantenido por ichigar
JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos que se utiliza para transmitir información entre sistemas. Fue diseñado para ser fácil de leer y escribir tanto por humanos como por máquinas, lo que lo hace ideal para la comunicación web, configuraciones de software y almacenamiento de datos estructurados.
JSON se usa en múltiples ámbitos, algunos de los más comunes son:
{}
y van separados por comas ,
.
{
elementos del documento json
}
Los elementos de un documento json pueden ser objetos o arrays
{}
.Ejemplo de objetos:
{
"nombre": "John Doe",
"edad": 30
}
Ejemplo de arrays
{
"materias": ["Matemáticas", "Historia"]
}
Ejemplo 1:
{
"nombre": "John Doe",
"edad": 30,
"isStudent": false,
"materias": ["Matemáticas", "Historia"],
"direccion": {
"calle": "Avenida Principal",
"numero": "1234"
}
}
Ejemplo 2
{
"nombre": "John Doe",
"edad": 30,
"isStudent": false,
"materias": [
{
"nombre": "Matemáticas",
"profesor": "Juan Pérez"
},
{
"nombre": "Historia",
"profesor": "María López"
}
],
"dirección": {
"calle": "Avenida Principal",
"numero": "1234",
"ciudad": {
"nombre": "Madrid",
"pais": "España"
},
"coordenadas": [40.7128, -74.0060]
}
}
"string"
).{ "key1": value1, "key2": value2 }
.[value1, value2, value3]
.true
o false
.null
. Se utiliza para indicar que no tiene ningún valor o valor nulo.Tipo | Ejemplo |
---|---|
String | "Hola mundo" |
Number | 123 , 3.14 |
Boolean | true , false |
Null | null |
Array | ["a", "b", "c"] |
Object | {"clave": "valor"} |
En JSON, los valores de tipo string deben ir siempre entre comillas dobles (“), y si dentro del texto también necesitas poner comillas dobles, debes escaparlas con una barra invertida ().
Ejemplo
{
"frase": "Ella dijo: \"Hola, ¿cómo estás?\""
}
En este caso, el valor de “frase” contiene comillas dobles internas, y para que no rompan la estructura JSON, se escriben como \"
.
Ejemplo incorrecto (esto daría error al procesarlo)
{
"frase": "Ella dijo: "Hola, ¿cómo estás?""
}
Esto es inválido porque el analizador JSON se confundiría al ver las comillas dobles sin escapar.
"
), lo que puede causar problemas con datos que contienen a su vez comillas dobles.Date
, Blob
, o referencias a objetos.Ventajas de JSON sobre XML
Desventajas de JSON respecto a XML
Característica | JSON | XML |
---|---|---|
Sintaxis | Más simple | Más compleja |
Tamaño | Más ligero | Más pesado |
Lectura humana | Más fácil | Menos intuitiva |
Estructura | Clave-valor | Basada en etiquetas |
Velocidad de análisis | Más rápida | Más lenta |
Los editores de código suelen incluir herramientas o plugins para validar que un documento json esté bien construido.
También existen herramientas online como https://jsonlint.com/ que nos permiten validar un documento json y mostrarnos los errores de sintaxis en caso de que no sea válido.