10 Ficheros JSON¶
Introducción¶
JSON (JavaScript Object Notation - Notación de Objetos de JavaScript) es un formato ligero de intercambio de datos. Leerlo y escribirlo es simple para humanos, mientras que para las máquinas es simple interpretarlo y generarlo. Está basado en un subconjunto del Lenguaje de Programación JavaScript.
JSON es un formato de texto que es completamente independiente del lenguaje pero utiliza convenciones que son ampliamente conocidos por los programadores de la familia de lenguajes C, incluyendo C, C++, C#, Java, JavaScript, Perl, Python, y muchos otros. Estas propiedades hacen que JSON sea un lenguaje ideal para el intercambio de datos.
JSON está constituido por dos estructuras:
- Una colección de pares de nombre/valor. En varios lenguajes esto es conocido como un objeto, registro, estructura, diccionario, tabla hash, lista de claves o un arreglo asociativo.
- Una lista ordenada de valores. En la mayoría de los lenguajes, esto se implementa como arreglos, vectores, listas o secuencias.
Estas son estructuras universales; virtualmente todos los lenguajes de programación las soportan de una forma u otra. Es razonable que un formato de intercambio de datos que es independiente del lenguaje de programación se base en estas estructuras.
Objetos JSON¶
Un objeto es un conjunto desordenado de pares nombre/valor. Un objeto comienza con {
, llave de apertura y termine con }
, llave de cierre. Cada nombre es seguido por :
, dos puntos y los pares nombre/valor están separados por ,
, coma.
Arreglo JSON¶
Un arreglo es una colección de valores. Un arreglo comienza con [
corchete izquierdo y termina con ]
corchete derecho. Los valores se separan por ,
coma.
Valor¶
Un valor puede ser una cadena de caracteres con comillas dobles, o un número, o true
o false
o null
, o un objeto o un arreglo. Estas estructuras pueden anidarse.
Cadena de Caracteres¶
Una cadena de caracteres es una colección de cero o más caracteres Unicode, encerrados entre comillas dobles, usando barras divisorias invertidas como escape. Un carácter está representado por una cadena de caracteres de un único carácter. Una cadena de caracteres es parecida a una cadena de caracteres C o Java.
Número¶
Un número es similar a un número C o Java, excepto que no se usan los formatos octales y hexadecimales.
Espacios en blancos¶
Los espacios en blanco pueden insertarse entre cualquier par de símbolos. Exceptuando pequeños detalles de encoding, esto describe completamente el lenguaje.
Ejemplos 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",
"Inter dimensional travel"
]
}
]
}
[
{
"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"
]
}
]
Info
Al final de esta página, https://www.json.org/json-es.html se puede ver las grandes cantidades de librerías para poder trabajar con JSON.
Gson es una de ellas y esta desarrollada por Google.