¿Qué es una cadena JSON?

En pocas palabras [2], JSON puede convertir un conjunto de datos representados en un objeto JavaScript en una cadena. Luego puede pasar fácilmente esta cadena entre funciones o, en una aplicación asincrónica, la cadena se puede transferir desde un cliente web a una cadena. . pasado al programa del lado del servidor. Esta cadena parece un poco extraña, pero JavaScript puede interpretarla fácilmente y JSON puede representar estructuras más complejas que los "pares nombre/valor". Por ejemplo, puede representar matrices y objetos complejos en lugar de simples listas de claves y valores.

Par nombre/valor

En su forma más simple, un "par nombre/valor" se puede representar mediante JSON de la siguiente manera:

{"nombre": " brett"}

Este ejemplo es muy simple y en realidad ocupa más espacio que el equivalente en texto plano "par nombre/valor":

nombre=brett

Sin embargo, cuando se unen varios pares de nombre/valor, JSON mostrará su valor. Primero, puede crear un registro que contenga múltiples "pares de nombre/valor", por ejemplo:

{"Nombre": "Brett", "Apellido": "McLaughlin", "Correo electrónico" :" AAAA"}

Sintácticamente, esto no es mucho mejor que "pares nombre/valor", pero en este caso es más fácil trabajar con JSON y es más legible. Por ejemplo, deja claro que los tres valores anteriores son todos parte del mismo registro; las llaves conectan los valores de alguna manera.

Representación de matrices

Cuando es necesario representar un conjunto de valores, JSON no solo puede mejorar la legibilidad sino también reducir la complejidad. Por ejemplo, supongamos que desea representar una lista de nombres. En XML, se requieren muchas etiquetas de inicio y fin; si usa pares típicos de nombre/valor (como se vio en artículos anteriores de esta serie), debe establecer un formato de datos propietario o cambiar el nombre de la clave a persona1 -forma de nombre.

Si usa JSON, simplemente use llaves para agrupar varios registros:

{

"人":[

{ "Primero Nombre": "Brett", "Apellido": "McLaughlin", "Email": "AAAA"},

{ "Nombre": "Jason", "Apellido": "Hunter" ,"email":"bbbb"},

{"Nombre":"Elliotte","Apellido":"Harold","Email":"cccc"}

>]

}

No es difícil de entender. En este ejemplo, solo hay una variable llamada personas y su valor es una matriz que contiene tres entradas, cada una de las cuales es un registro de una persona, incluido el nombre, el apellido y la dirección de correo electrónico. El ejemplo anterior demuestra cómo utilizar paréntesis para combinar registros en un solo valor.

Por supuesto, puedes usar la misma sintaxis para representar múltiples valores (cada uno con múltiples registros):

{

"Programador":[{

"Nombre":"Brett",

"Apellido":"McLaughlin",

"Correo electrónico":"aaaa"

}, {

"Nombre":"Jason",

"Apellido":"Hunter",

"E-mail":"bbbb"

}, {

"Nombre":"Elliotte",

"Apellido":"Harold",

" Correo electrónico": "cccc"

}],

"Autor":[{

"Nombre":"Isaac",

"Apellido Nombre":"Asimov",

"Género":"Ciencia ficción"

}, {

"Nombre":"Tad",

"Apellido":"Williams",

"Género":"Fantasía"

}, {

"Nombre": "Frank",

"Apellido": "Peretti",

"Tipo": "Christian"

} ],

"Músico": [{

"Nombre": "Eric",

"Apellido": "Clapton",

"Instrumento": "Guitarra"

}, {

"Nombre":"Sergey",

"Apellido" ":"Rachmaninov",

"Instrumento":"Piano"

}]

}

Aquí lo más notable es que puede representar múltiples valores, cada uno de los cuales contiene múltiples valores. Sin embargo, también debe tener en cuenta que los pares nombre/valor reales en el registro pueden diferir entre diferentes proyectos principales (programadores, autores y músicos). JSON es completamente dinámico, lo que le permite cambiar la forma en que se representan los datos en medio de la estructura JSON.

Al procesar datos en formato JSON, no existen restricciones predefinidas a seguir. Por lo tanto, dentro de una misma estructura de datos, la forma en que se representan los datos puede cambiar, e incluso una misma cosa puede representarse de diferentes maneras.