Introducción a JSON
اااااااБългарски 中文 Český Dansk Nederlands English Esperanto Français Deutsch Ελληνικά עבריתMagyar
Indonesia Italiano 日本
한국어 اااااNorsk Polski Português Română Русский Српско-хрватски Slovenščina Español Svenska Türkçe
Українська Tiếng Việt
ECMA-404 The JSON Data Interchange Standard.
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, Standard ECMA-262 3rd Edition - Diciembre 1999.
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á constituído 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 sequencias.
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.
En JSON, se presentan de estas formas:
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.
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.
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.
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 carateres es
parecida a una cadena de caracteres C o Java.
Un número es similar a un número C o Java, excepto que no se usan los formatos octales y
hexadecimales.
Los espacios en blanco pueden insertarse entre cualquier par de símbolos.
Exceptuando pequeños detalles de encoding, esto describe completamente el lenguaje.
json element
value object array string number "true" "false" "null"
object '{' ws '}' '{' members '}'
members member member ',' members
member ws string ws ':' element
array '[' ws ']' '[' elements ']'
elements element element ',' elements
element ws value ws
string '"' characters '"'
characters "" character characters
character '0020' . '10FFFF' - '"' - '\' '\' escape
escape '"' '\' '/' 'b' 'f' 'n' 'r' 't' 'u' hex hex hex hex
hex digit 'A' . 'F' 'a' . 'f'
number integer fraction exponent
integer digit onenine digits '-' digit '-' onenine digits
digits digit digit digits
digit '0' onenine
onenine '1' . '9'
fraction "" '.' digits
exponent "" 'E' sign digits 'e' sign digits
sign "" '+' '-'
ws "" '0020' ws '000A' ws '000D' ws '0009' ws
• 8th
ojson
• ActionScript
o ActionScript3
• Ada
o GNATCOLL.JSON
• AdvPL
o JSON-ADVPL
• APL
o ⎕JSON
• ASP
o JSON for ASP
o JSON ASP utility class
• AWK
o JSON.awk
o rhawk
• BlitzMax
o bmx-rjson
• C
o mu_json
o JSON_checker
o YAJL
o LibU
o json-c
o json-parser
o jsonsl
o WJElement
o M's JSON parser
o cJSON
o Jansson
o jsmn
o parson
o ujson4c
o frozen
o microjson
o mjson
o progbase
o lwjson
o cisson
o nanoJSONc
• C++
o JSONKit
o jsonme--
o ThorsSerializer
o JsonBox
o jvar
o rapidjson
o JSON for Modern C++
o minijson
o jsoncons
o jsoncpp
o univalue
o ArduinoJson
o QJson
o CAJUN
o libjson
o nosjob
o JSON library for IoT
o qmjson
o JSON Support in Qt
o JsonWax for Qt
o progbase
o Qentem-Engine
• C#
o fastJSON
o JSON_checker
o Json.NET
o JSON for .NET
o Manatee Json
o FastJsonParser
o LightJson
o Liersch.Json
o Liersch.JsonSerialization
o progbase
o JSON Essentials
• Clojure
o data.json
• Cobol
o Redvers COBOL JSON Interface
• ColdFusion
o SerializeJSON
• D
o std.json
o asdf
o vibe.data.json
• Dart
o json library
• Delphi
o Delphi Web Utils
o JSON Delphi Library
• E
o JSON in TermL
• Erlang
o erl-json
• Fantom
o Json
• FileMaker
o JSON
• Fortran
o json-fortran
o YAJL-Fort
o jsonff
• Go
o package json
• Groovy
o groovy-io
• Haskell
o RJson package
o json package
• Java
o JSON-java
o esson
o JSONUtil
o jsonp
o Json-lib
o Stringtree
o SOJO
o json-taglib
o Flexjson
o Argo
o jsonij
o fastjson
o mjson
o jjson
o json-simple
o json-io
o google-gson
o FOSS Nova JSON
o Corn CONVERTER
o Apache johnzon
o Genson
o cookjson
o progbase
o jackson
o MOXy
• JavaScript
o JSON
o json2.js
o clarinet
o Oboe.js
o progbase
• LabVIEW
o flatten
• Lisp
o Common Lisp JSON
• LiveCode
o mergJSON
• LotusScript
o JSON LS
• Lua
o JSON Modules
• M
o DataBallet
• Matlab
o JSONlab
o 20565
o 23393
• Net.Data
o netdata-json
• Nim
o Module json
• Objective C
o NSJSONSerialization
o json-framework
o JSONKit
o yajl-objc
o TouchJSON
• OCaml
o jsonm
• PascalScript
o JsonParser
• Perl
o CPAN
• Photoshop
o JSON Photoshop Scripting
• PHP
o PHP 5.2
• PicoLisp
o picolisp-json
• Pike
o Public.Parser.JSON
o Public.Parser.JSON2
• PL/SQL
o pljson
• PureBasic
o JSON
• Puredata
o PuRestJson
• Python
o The Python Standard Library
o simplejson
o pyson
o Yajl-Py
o ultrajson
o metamagic.json
o progbase
• R
o rjson
o jsonlite
• Racket
o json-parsing
• Rebol
o json.r
• RPG
o JSON Utilities
• Rust
o Serde JSON
o json-rust
• Ruby
o yajl-ruby
o json-stream
o progbase
• Scala
o circe
• Scheme
o MZScheme
o JSON-struct
• Shell
o Jshon
o JSON.sh
o jwalk
• Squeak
o Squeak
• Tcl
o JSON
• Visual Basic
o VB-JSON
o PW.JSON
o .NET-JSON-Transformer
o progbase
• Visual FoxPro
o fwJSON
o JSON
o vfpjson
• Wing
o json-type
• Videos about JSON
• Videos about the JSON Logo
• Heresy & Heretical Open Source: A Heretic's Perspective
• Nota Message Format