JSON organiza la información en dos estructuras fundamentales:
{ }
.[ ]
.Estas dos formas se pueden combinar y anidar para representar datos complejos.
Un objeto JSON es una colección de pares clave-valor.
" "
.Ejemplo de un objeto JSON simple
{
"nombre": "María",
"edad": 28,
"profesion": "Diseñadora",
"activo": true
}
En este ejemplo:
"nombre"
es la clave — "María"
es el valor."edad"
es la clave — 28
es el valor."profesion"
es la clave — "Diseñadora"
es el valor."activo"
es la clave — true
es el valor.Un arreglo JSON es una lista ordenada de valores, encerrada entre [ ]
. Los elementos se separan con comas.
Ejemplo de un arreglo JSON
[
"Argentina",
"Chile",
"Uruguay",
"Paraguay"
]
En este ejemplo, el arreglo contiene cuatro strings.
Es muy común que un arreglo contenga varios objetos. Esto se utiliza, por ejemplo, para representar una lista de usuarios o productos.
Ejemplo: lista de personas
[
{
"nombre": "Ana",
"edad": 25
},
{
"nombre": "Luis",
"edad": 40
},
{
"nombre": "Sofía",
"edad": 32
}
]
Aquí tenemos un arreglo de tres objetos. Cada objeto representa a una persona con las claves "nombre"
y "edad"
.
Un objeto puede tener dentro un arreglo como valor.
Ejemplo: una persona con lista de hobbies
{
"nombre": "Carlos",
"edad": 35,
"hobbies": ["fútbol", "ajedrez", "cine"]
}
Aquí, "hobbies"
es una clave, y su valor es un arreglo de strings.
Los objetos también pueden contener otros objetos dentro.
Ejemplo: persona con dirección anidada
{
"nombre": "Laura",
"edad": 29,
"direccion": {
"calle": "Av. Colón",
"numero": 742,
"ciudad": "Córdoba"
}
}
Aquí: "direccion"
es una clave y su valor es otro objeto JSON con tres pares clave-valor.
Los objetos y arreglos se pueden combinar de forma compleja.
Ejemplo: catálogo de productos
{
"tienda": "Tech Store",
"productos": [
{
"codigo": 101,
"descripcion": "Teclado mecánico",
"precio": 1200.50,
"disponible": true
},
{
"codigo": 102,
"descripcion": "Mouse inalámbrico",
"precio": 850.75,
"disponible": false
}
],
"ubicaciones": ["Buenos Aires", "Córdoba", "Rosario"]
}
En este JSON:
"tienda"
es un string."productos"
es un arreglo de dos objetos, cada uno con varios pares clave-valor."ubicaciones"
es un arreglo de strings.{}
y arreglos []
.