Notación de Objetos JavaScript (JSON, pronunciado /ˈdʒeɪsən/; también /ˈdʒeɪˌsɒn/[nota 1]) es un estándar de formato de archivo que utiliza el texto legible para transmitir los datos de los objetos compuestos de pares atributo–valor y la variedad de tipos de datos (o cualquier otro serializable valor). Es un formato de datos común, con una amplia gama de aplicaciones, tales como servir como un reemplazo para XML en AJAX sistemas.
JSON es un lenguaje independiente del formato de datos. Fue derivado de JavaScript, pero muchos lenguajes de programación modernos incluyen un código para generar y analizar formato JSON de datos. El oficial de Internet tipo de medios para JSON es application/json. JSON nombres de archivo que use la extensión .json.
Douglas Crockford originalmente especificado el formato JSON en la década de 2000. JSON primero fue estandarizado en 2013, como ECMA-404. La última formato JSON estándar fue publicado en el año 2017 como RFC 8259, y sigue siendo coherente con ECMA-404. Ese mismo año, JSON, también fue estandarizado como ISO/IEC 21778:2017. La ECMA e ISO normas sólo describe la sintaxis permitida, mientras que el RFC cubre la seguridad y la interoperabilidad de las consideraciones.
JSON los tipos de datos básicos son:
- Número: firmado un número decimal que puede contener una parte fraccionaria y puede utilizar la exponencial E notación, pero no puede incluir números, tales como NaN. El formato no hace ninguna distinción entre enteros y de punto flotante. JavaScript se utiliza un doble precisión de punto flotante de formato para todos sus valores numéricos, pero otros idiomas la aplicación de JSON puede codificar números de manera diferente.
- Cadena: secuencia de cero o más caracteres Unicode. Son las cadenas de caracteres delimitados por comillas dobles y el apoyo de un escape de barra diagonal inversa de la sintaxis.
- Booleano: cualquiera de los valores true o false
- Matriz: una lista ordenada de cero o más valores, cada uno de los cuales puede ser de cualquier tipo. Las matrices de uso de la notación de corchetes con separada por comas de los elementos.
- Objeto: una desordenada colección de pares de nombre–valor, donde los nombres (también denominadas claves) son cadenas. Los objetos están destinados a representar matrices asociativas, donde cada tecla es único dentro de un objeto. Los objetos delimitados por llaves y el uso de comas para separar cada par, mientras que dentro de cada par, el signo de dos puntos: el carácter que separa la clave o el nombre de su valor.
- null: Un valor vacío, el uso de la palabra null
El espacio en blanco que está permitido y omite alrededor o entre elementos sintácticos (valores y signos de puntuación, pero no dentro de una cadena de valor). e, el uso de la palabra null
El espacio en blanco que está permitido y omite alrededor o entre elementos sintácticos (valores y signos de puntuación, pero no dentro de una cadena de valor). Cuatro caracteres específicos se consideran espacios en blanco para este propósito: el espacio, tabulador horizontal, salto de línea y retorno de carro. En particular, la marca de orden de bytes no debe ser generado por una implantación conforme (aunque puede ser aceptado cuando el análisis de JSON). JSON no proporciona la sintaxis de los comentarios.
Las primeras versiones de JSON (tal como se especifica en la RFC 4627) requiere que un JSON válido texto debe consistir sólo en un objeto o de un tipo de matriz, que puede contener otros tipos dentro de ellos.