Contenido
JSON (JavaScript Object Notation) es un formato de texto basado en la estructura de objetos de JavaScript. Más moderno y ligero que XML, se utiliza ampliamente tanto para la transmisión de datos entre aplicaciones como para su almacenamiento.
Este modelo de datos se ha popularizado porque prioriza el contenido sobre la estructura, reduciendo la cantidad de sintaxis necesaria y facilitando la lectura por parte de humanos y máquinas.
Estructura básica
Un archivo JSON es una cadena de texto que debe parsearse (analizarse sintácticamente) para acceder a sus datos. Este proceso se denomina parsing cuando convertimos una cadena en un objeto, y stringification cuando hacemos la operación inversa (objeto → texto).
Los principales elementos de la estructura JSON son:
{}: delimitan un objeto.[]: delimitan un array (lista ordenada de elementos).:: separa las claves de sus valores.,: separa los diferentes pares de clave-valor o elementos."": delimitan los valores de texto (string).
Ejemplo de objeto JSON
{
"squadName": "Super hero squad",
"homeTown": "Metro City",
"formed": 2016,
"secretBase": "Super tower",
"active": true,
"members": [
{
"name": "Molecule Man",
"age": 29,
"secretIdentity": "Dan Jukes",
"powers": ["Radiation resistance", "Turning tiny", "Radiation blast"]
},
{
"name": "Madame Uppercut",
"age": 39,
"secretIdentity": "Jane Wilson",
"powers": ["Million tonne punch", "Damage resistance", "Superhuman reflexes"]
},
{
"name": "Eternal Flame",
"age": 1000000,
"secretIdentity": "Unknown",
"powers": ["Immortality", "Heat Immunity", "Inferno", "Teleportation", "Interdimensional travel"]
}
]
}
Reglas básicas para crear archivos JSON
- Los datos se organizan en pares clave:valor, separados por comas.
- Tanto claves como valores de texto van entre comillas dobles («»).
- Los objetos se delimitan con llaves
{}. - Los arrays se delimitan con corchetes
[]. - Los objetos y arrays pueden anidarse entre sí.
Ejemplo:
{
"nombre": "Jose",
"edad": 20,
"genero": "masculino",
"email": "correodejose@dominio.com",
"localidad": "Madrid",
"telefono": "91000000",
"mando": true,
"marco": "<iframe width=560 height=315 src='https://www.youtube.com/embed/QCEU-vba8mw' frameborder=0 allowfullscreen></iframe>"
}
Objetos y arrays en JSON
- Objeto: se define con llaves
{}y contiene uno o varios pares clave-valor.json{ "nombre": "Juan", "apellidos": "Gonzalez" } - Array: se define con corchetes
[]y puede incluir valores o incluso objetos.json{ "nombre": "Juan", "edad": 30, "coches": ["Ford", "BMW", "Fiat"] } - Array de objetos:json
{ "nombre": "Juan", "edad": 30, "coches": [ { "nombre": "Ford", "modelos": ["Fiesta", "Focus", "Mustang"] }, { "nombre": "BMW", "modelos": ["320", "X3", "X5"] }, { "nombre": "Fiat", "modelos": ["500", "Panda"] } ] }
Tipos de datos permitidos
- string: cadenas de texto.
- number: números enteros o decimales.
- object: objetos JSON.
- array: listas ordenadas.
- boolean: valores
trueofalse. - null: valor nulo o sin asignar.
JSON vs XML
JSON y XML son formatos ampliamente usados para intercambiar información entre sistemas y almacenar configuraciones o datos estructurados.
Aunque JSON suele ser más ligero y fácil de leer, XML ofrece ventajas en casos donde se necesita validación mediante esquemas (XSD) o metadatos complejos.
Ejemplo JSON:
{
"employees": [
{ "firstName": "John", "lastName": "Doe" },
{ "firstName": "Anna", "lastName": "Smith" },
{ "firstName": "Peter", "lastName": "Jones" }
]
}
Ejemplo XML:
<employees>
<employee>
<firstName>John</firstName>
<lastName>Doe</lastName>
</employee>
<employee>
<firstName>Anna</firstName>
<lastName>Smith</lastName>
</employee>
<employee>
<firstName>Peter</firstName>
<lastName>Jones</lastName>
</employee>
</employees>
En general, JSON es ideal para intercambio rápido de datos entre aplicaciones web, mientras que XML puede ser preferible en entornos donde se requiera validación formal o compatibilidad con sistemas antiguos.


