Introducing JSON
================
* * *
[العربية](https://www.JSON.org/json-ar.html) [Български](https://www.JSON.org/json-bg.html) [中文](https://www.JSON.org/json-zh.html) [Český](https://www.JSON.org/json-cz.html) [Dansk](https://www.JSON.org/json-da.html) [Nederlands](https://www.JSON.org/json-nl.html) [English](https://www.JSON.org/json-en.html) [Esperanto](https://www.JSON.org/json-eo.html) [Français](https://www.JSON.org/json-fr.html) [Deutsch](https://www.JSON.org/json-de.html) [Ελληνικά](https://www.JSON.org/json-el.html) [עברית](https://www.JSON.org/json-he.html) [Magyar](https://www.JSON.org/json-hu.html) [Indonesia](https://www.JSON.org/json-id.html) [Italiano](https://www.JSON.org/json-it.html) [日本](https://www.JSON.org/json-ja.html)
[한국어](https://www.JSON.org/json-ko.html) [فارسی](https://www.JSON.org/json-fa.html) [Norsk](https://www.JSON.org/json-no.html) [Polski](https://www.JSON.org/json-pl.html) [Português](https://www.JSON.org/json-pt.html) [Română](https://www.JSON.org/json-ro.html) [Русский](https://www.JSON.org/json-ru.html) [Српско-хрватски](https://www.JSON.org/json-sr.html) [Slovenščina](https://www.JSON.org/json-sl.html) [Español](https://www.JSON.org/json-es.html) [Svenska](https://www.JSON.org/json-sv.html) [Türkçe](https://www.JSON.org/json-tr.html) [Українська](https://www.JSON.org/json-uk.html) [Tiếng Việt](https://www.JSON.org/json-vi.html)
* * *
[ECMA-404 The JSON Data Interchange Standard](https://www.ecma-international.org/publications-and-standards/standards/ecma-404/).
* * *
**JSON** (JavaScript Object Notation) is a lightweight data-interchange format. It is easy for humans to read and write. It is easy for machines to parse and generate. It is based on a subset of the JavaScript Programming Language Standard ECMA-262 3rd Edition - December 1999. JSON is a text format that is completely language independent but uses conventions that are familiar to programmers of the C-family of languages, including C, C++, C#, Java, JavaScript, Perl, Python, and many others. These properties make JSON an ideal data-interchange language.
JSON is built on two structures:
* A collection of name/value pairs. In various languages, this is realized as an _object_, record, struct, dictionary, hash table, keyed list, or associative array.
* An ordered list of values. In most languages, this is realized as an _array_, vector, list, or sequence.
These are universal data structures. Virtually all modern programming languages support them in one form or another. It makes sense that a data format that is interchangeable with programming languages also be based on these structures.
In JSON, they take on these forms:
An _object_ is an unordered set of name/value pairs. An object begins with {left brace and ends with }right brace. Each name is followed by :colon and the name/value pairs are separated by ,comma.
An _array_ is an ordered collection of values. An array begins with \[left bracket and ends with \]right bracket. Values are separated by ,comma.
A _value_ can be a _string_ in double quotes, or a _number_, or true or false or null, or an _object_ or an _array_. These structures can be nested.
A _string_ is a sequence of zero or more Unicode characters, wrapped in double quotes, using backslash escapes. A character is represented as a single character string. A string is very much like a C or Java string.
A _number_ is very much like a C or Java number, except that the octal and hexadecimal formats are not used.
Whitespace can be inserted between any pair of tokens. Excepting a few encoding details, that completely describes the language.
[
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
](https://www.crockford.com/mckeeman.html)
* * *
* 8th
* [json](https://8th-dev.com/json.html)
* ActionScript
* [ActionScript3](http://github.com/mikechambers/as3corelib)
* Ada
* [GNATCOLL.JSON](http://docs.adacore.com/gnatcoll-docs/json.html)
* AdvPL
* [JSON-ADVPL](https://github.com/imsys/JSON-ADVPL)
* APL
* [⎕JSON](http://help.dyalog.com/latest/#Language/System Functions/json.htm)
* ASP
* [JSON for ASP](https://github.com/tugrul/aspjson)
* [JSON ASP utility class](http://www.webdevbros.net/2007/04/26/generate-json-from-asp-datatypes/)
* AWK
* [JSON.awk](https://github.com/step-/JSON.awk)
* [rhawk](https://github.com/Andy753421/rhawk/blob/master/json.awk)
* BlitzMax
* [bmx-rjson](https://github.com/Trylobot/bmx-rjson)
* C
* [mu\_json](https://github.com/rdpoor/mu_json)
* [JSON\_checker](https://github.com/douglascrockford/JSON-c)
* [YAJL](https://github.com/lloyd/yajl/)
* [LibU](http://github.com/koanlogic/libu/blob/master/srcs/toolbox/json.c)
* [json-c](https://github.com/json-c/json-c)
* [json-parser](https://github.com/udp/json-parser)
* [jsonsl](https://github.com/mnunberg/jsonsl)
* [WJElement](https://github.com/netmail-open/wjelement)
* [M's JSON parser](http://sourceforge.net/projects/mjson/)
* [cJSON](http://github.com/DaveGamble/cJSON)
* [Jansson](http://www.digip.org/jansson/)
* [jsmn](https://github.com/zserge/jsmn)
* [parson](http://github.com/kgabis/parson/)
* [ujson4c](https://github.com/esnme/ujson4c/)
* [frozen](https://github.com/cesanta/frozen)
* [microjson](http://www.catb.org/esr/microjson/)
* [mjson](https://github.com/cpq/mjson)
* [progbase](https://repo.progsbase.com/repoviewer/no.inductive.idea10.programs/JSON/latest)
* [lwjson](https://github.com/MaJerle/lwjson)
* [cisson](https://gitlab.com/Meithal/cisson)
* [nanoJSONc](https://github.com/open-source-patterns/nanojsonc)
* C++
* [JSONKit](https://github.com/johnezang/JSONKit)
* [jsonme--](https://github.com/pibara/jsonme--)
* [ThorsSerializer](https://github.com/Loki-Astari/ThorsSerializer)
* [JsonBox](https://github.com/anhero/JsonBox)
* [jvar](https://github.com/YasserAsmi/jvar)
* [rapidjson](https://github.com/miloyip/rapidjson)
* [JSON for Modern C++](https://github.com/nlohmann/json)
* [minijson](https://giacomodrago.github.io/minijson/)
* [jsoncons](https://github.com/danielaparker/jsoncons)
* [jsoncpp](https://github.com/open-source-parsers/jsoncpp)
* [univalue](https://github.com/jgarzik/univalue)
* [jsovon](https://github.com/arttnba3/jsovon)
* [ArduinoJson](https://arduinojson.org/)
* [QJson](http://qjson.sourceforge.net/)
* [CAJUN](http://cajun-jsonapi.sourceforge.net/)
* [libjson](http://sourceforge.net/projects/libjson/)
* [nosjob](http://fossil.wanderinghorse.net/repos/nosjob/index.cgi/index)
* [JSON library for IoT](https://realtimelogic.com/products/json/)
* [qmjson](https://github.com/QtMark/qmjson)
* [JSON Support in Qt](http://doc.qt.io/qt-5/json.html)
* [JsonWax for Qt](https://doublejim.github.io/)
* [progbase](https://repo.progsbase.com/repoviewer/no.inductive.idea10.programs/JSON/latest)
* [Qentem-Engine](https://github.com/HaniAmmar/Qentem-Engine)
* C#
* [fastJSON](http://www.codeproject.com/KB/IP/fastJSON.aspx)
* [JSON\_checker](http://www.raboof.com/projects/jsonchecker/)
* [Json.NET](http://james.newtonking.com/projects/json-net.aspx)
* [JSON for .NET](http://sourceforge.net/projects/csjson)
* [Manatee Json](https://github.com/gregsdennis/Manatee.Json)
* [FastJsonParser](https://github.com/ysharplanguage/FastJsonParser)
* [LightJson](https://github.com/MarcosLopezC/LightJson)
* [Liersch.Json](https://github.com/steffen-liersch/liersch.json)
* [Liersch.JsonSerialization](https://github.com/steffen-liersch/Liersch.JsonSerialization)
* [progbase](https://repo.progsbase.com/repoviewer/no.inductive.idea10.programs/JSON/latest)
* [JSON Essentials](https://pinery.systems/json-essentials-com/index.html)
* Clojure
* [data.json](http://github.com/clojure/data.json/)
* Cobol
* [Redvers COBOL JSON Interface](http://www.redversconsulting.com/cobol_json_interface.php)
* ColdFusion
* [SerializeJSON](http://help.adobe.com/en_US/ColdFusion/10.0/CFMLRef/WSc3ff6d0ea77859461172e0811cbec22c24-79fa.html)
* D
* [std.json](https://dlang.org/phobos/std_json.html)
* [asdf](http://asdf.libmir.org/)
* [vibe.data.json](https://vibed.org/api/vibe.data.json/)
* Dart
* [json library](http://api.dartlang.org/json.html)
* Delphi
* [Delphi Web Utils](https://sourceforge.net/projects/is-webstart/)
* [JSON Delphi Library](http://sourceforge.net/projects/lkjson)
* E
* [JSON in TermL](http://erights.org/data/terml/embeddings.html)
* Erlang
* [erl-json](https://github.com/exograd/erl-json)
* Fantom
* [Json](http://fantom.org/doc/docLib/Json.html)
* FileMaker
* [JSON](http://www.modularfilemaker.org/module/json/)
* Fortran
* [json-fortran](https://github.com/jacobwilliams/json-fortran)
* [YAJL-Fort](http://sourceforge.net/projects/yajl-fort/)
* [jsonff](https://gitlab.com/everythingfunctional/jsonff)
* Go
* [package json](http://golang.org/pkg/encoding/json/)
* Groovy
* [groovy-io](https://github.com/jdereg/groovy-io)
* Haskell
* [RJson package](http://hackage.haskell.org/cgi-bin/hackage-scripts/package/RJson)
* [json package](http://hackage.haskell.org/cgi-bin/hackage-scripts/package/json)
* Java
* [JSON-java](https://github.com/stleary/JSON-java)
* [esson](https://github.com/LeggoMahEggo/esson)
* [JSONUtil](https://github.com/billdavidson/JSONUtil)
* [jsonp](https://java.net/projects/jsonp/)
* [Json-lib](http://json-lib.sourceforge.net/)
* [Stringtree](http://www.stringtree.org/stringtree-json.html)
* [SOJO](http://sojo.sourceforge.net/)
* [json-taglib](http://json-taglib.sourceforge.net/)
* [Flexjson](http://flexjson.sourceforge.net/)
* [Argo](http://argo.sourceforge.net/)
* [jsonij](https://bitbucket.org/jmarsden/jsonij)
* [fastjson](http://sourceforge.net/projects/fastjson/)
* [mjson](http://bolerio.github.io/mjson/)
* [jjson](https://github.com/grobmeier/jjson)
* [json-simple](https://github.com/fangyidong/json-simple)
* [json-io](https://github.com/jdereg/json-io)
* [google-gson](https://github.com/google/gson)
* [FOSS Nova JSON](https://github.com/fossnova/json)
* [Corn CONVERTER](https://sites.google.com/site/javacornproject/corn-converter)
* [Apache johnzon](http://johnzon.incubator.apache.org/)
* [Genson](http://owlike.github.io/genson/)
* [cookjson](https://github.com/coconut2015/cookjson)
* [progbase](https://repo.progsbase.com/repoviewer/no.inductive.idea10.programs/JSON/latest)
* [jackson](https://github.com/FasterXML/jackson)
* [MOXy](https://www.eclipse.org/eclipselink/#moxy)
* JavaScript
* [JSON](http://www.ecma-international.org/publications/standards/Ecma-262.htm)
* [json2.js](https://github.com/douglascrockford/JSON-js)
* [clarinet](https://github.com/dscape/clarinet)
* [Oboe.js](http://oboejs.com/)
* [progbase](https://repo.progsbase.com/repoviewer/no.inductive.idea10.programs/JSON/latest)
* LabVIEW
* [flatten](http://zone.ni.com/reference/en-XX/help/371361K-01/glang/flat_unflat_string/)
* Lisp
* [Common Lisp JSON](http://common-lisp.net/project/cl-json/)
* LiveCode
* [mergJSON](https://github.com/montegoulding/mergJSON)
* LotusScript
* [JSON LS](http://www.openntf.org/Projects/pmt.nsf/ProjectHome?ReadForm&Query=JSON%20LS)
* Lua
* [JSON Modules](http://lua-users.org/wiki/JsonModules)
* M
* [DataBallet](https://github.com/lparenteau/DataBallet/blob/master/r/json.m)
* Matlab
* [JSONlab](http://iso2mesh.sourceforge.net/cgi-bin/index.cgi?jsonlab)
* [20565](http://www.mathworks.com/matlabcentral/fileexchange/20565)
* [23393](http://www.mathworks.com/matlabcentral/fileexchange/23393)
* Net.Data
* [netdata-json](https://github.com/blackchair/netdata-json)
* Nim
* [Module json](https://nim-lang.org/docs/json.html)
* Objective C
* [NSJSONSerialization](https://developer.apple.com/library/ios/documentation/foundation/reference/nsjsonserialization_class/Reference/Reference.html)
* [json-framework](https://github.com/stig/json-framework/)
* [JSONKit](https://github.com/johnezang/JSONKit)
* [yajl-objc](https://github.com/gabriel/yajl-objc)
* [TouchJSON](https://github.com/TouchCode/TouchJSON)
* OCaml
* [jsonm](http://erratique.ch/software/jsonm)
* PascalScript
* [JsonParser](https://github.com/koldev/JsonParser)
* Perl
* [CPAN](http://search.cpan.org/search?query=JSON)
* Photoshop
* [JSON Photoshop Scripting](https://codeberg.org/tonton-pixel/json-photoshop-scripting)
* PHP
* [PHP 5.2](http://www.php.net/releases/5_2_0.php)
* PicoLisp
* [picolisp-json](https://github.com/aw/picolisp-json)
* Pike
* [Public.Parser.JSON](http://modules.gotpike.org/module_info.html?module_id=33)
* [Public.Parser.JSON2](http://modules.gotpike.org/module_info.html?select=0.2&module_id=43)
* PL/SQL
* [pljson](https://github.com/pljson/pljson)
* PureBasic
* [JSON](http://www.purebasic.com/documentation/json/index.html)
* Puredata
* [PuRestJson](https://github.com/residuum/PuRestJson)
* Python
* [The Python Standard Library](http://docs.python.org/library/json.html)
* [simplejson](http://pypi.python.org/pypi/simplejson/)
* [pyson](http://jyson.xhaus.com/)
* [Yajl-Py](http://github.com/pykler/yajl-py/)
* [ultrajson](https://github.com/esnme/ultrajson)
* [metamagic.json](http://pypi.python.org/pypi/metamagic.json/)
* [progbase](https://repo.progsbase.com/repoviewer/no.inductive.idea10.programs/JSON/latest)
* R
* [rjson](http://cran.r-project.org/web/packages/rjson/index.html)
* [jsonlite](http://cran.r-project.org/web/packages/jsonlite/index.html)
* Racket
* [json-parsing](http://www.neilvandyke.org/racket-json-parsing/)
* Rebol
* [json.r](http://www.rebol.org/view-script.r?script=json.r)
* RPG
* [JSON Utilities](http://rpgnextgen.com/index.php?content=json)
* Rust
* [Serde JSON](https://github.com/serde-rs/json)
* [json-rust](https://github.com/maciejhirsz/json-rust)
* Ruby
* [yajl-ruby](http://github.com/brianmario/yajl-ruby)
* [json-stream](https://github.com/dgraham/json-stream)
* [progbase](https://repo.progsbase.com/repoviewer/no.inductive.idea10.programs/JSON/latest)
* Scala
* [circe](https://circe.github.io/circe/)
* Scheme
* [MZScheme](http://www.lshift.net/blog/2005/08/22/json-for-mzscheme-and-a-portable-packrat-parsing-combinator-library)
* [JSON-struct](https://guenchi.github.io/json/)
* Shell
* [Jshon](http://kmkeen.com/jshon/)
* [JSON.sh](https://github.com/dominictarr/JSON.sh)
* [jwalk](https://github.com/shellbound/jwalk/)
* Squeak
* [Squeak](http://map1.squeakfoundation.org/sm/package/d38bdc2d-e52a-4167-ae73-2cf438c65c2f)
* Tcl
* [JSON](http://wiki.tcl.tk/13419)
* Visual Basic
* [VB-JSON](http://www.ediy.co.nz/vbjson-json-parser-library-in-vb6-xidc55680.html)
* [PW.JSON](http://www.pozzware.com/pozzware/Corsi/Programmazione/VB.NET/JSON%20Library.aspx)
* [.NET-JSON-Transformer](https://github.com/dday9/.NET-JSON-Transformer)
* [progbase](https://repo.progsbase.com/repoviewer/no.inductive.idea10.programs/JSON/latest)
* Visual FoxPro
* [fwJSON](http://www.foxweb.com/document/index.htm?page=/document/fwJSONObject.htm)
* [JSON](http://www.sweetpotatosoftware.com/SPSBlog/PermaLink,guid,5f96efd7-f350-4bc8-86c5-caffd9e833eb.aspx)
* [vfpjson](https://github.com/sait/vfpjson)
* Wing
* [json-type](https://docs.winglang.io/reference/spec#114-json-type)
* * *
* [Videos about JSON](https://www.youtube.com/playlist?list=PLEzQf147-uEoNCeDlRrXv6ClsLDN-HtNm)
* [Videos about the JSON Logo](https://www.youtube.com/playlist?list=PLEzQf147-uEpz3sHeMRx0UF7OHCXk0HOZ)
* [Heresy & Heretical Open Source: A Heretic's Perspective](http://www.infoq.com/presentations/Heretical-Open-Source)
* [Nota Message Format](https://www.crockford.com/nota.html)