Introducing JSON: ECMA-404 The JSON Data Interchange Standard

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

8/16/2021 JSON

Introducing JSON


العربية‬Български
中文
Český
Dansk
Nederlands
English
Esperanto
Français
Deutsch
Ελληνικά

עברית‬Magyar
Indonesia
Italiano

日本
한국어

فارسی‬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) is a


lightweight data-interchange
format. It is easy json

for humans to read and write. It is easy for element

machines to
parse and generate. It is based on
a subset of the
JavaScript
Programming
value

Language Standard
ECMA-262 3rd Edition -
December 1999. JSON is a text format that is object

completely
language independent but uses array

conventions that are familiar to programmers string

of
the C-family of languages, including C, number

C++, C#, Java, JavaScript, Perl, Python,


and "true"

many others. These properties make JSON an


"false"

ideal data-interchange language.


"null"

JSON is built on two structures:


object

A collection of name/value pairs. In '{' ws '}'

various languages, this is realized


as an '{' members '}'

object, record, struct, dictionary, hash


table, keyed list, or
associative array. members

An ordered list of values. In most member

languages, this is realized as an array,


vector, list, or sequence. member ',' members

These are universal data structures. Virtually member

all modern
programming languages support ws string ws ':' element

them in one form or another. It makes sense


that a data format that is interchangeable with array

programming languages also


be based on '[' ws ']'

these structures. '[' elements ']'

In JSON, they take on these forms:


elements

An object is an unordered set of name/value element

pairs. An object
begins with { left brace and ends element ',' elements

with } right brace . Each name is followed


by
: colon and the name/value pairs are
separated element

by , comma . ws value ws

string

'"' characters '"'


https://www.json.org/json-en.html 1/6
8/16/2021 JSON

characters

""

character characters

character

'0020' . '10FFFF' - '"' - '\'

'\' escape

An array is an ordered collection of values. escape

An array begins
with [ left bracket and ends
with '"'

] right bracket . Values are separated


by , comma .
'\'

'/'

'b'

'f'

'n'

'r'

A value can be a string in double quotes, or a 't'

number,
or true or false or null, or an 'u' hex hex hex hex

object or
an array. These structures can be
nested. hex

digit

'A' . 'F'

'a' . 'f'

number

integer fraction exponent

integer

digit

onenine digits

'-' digit

'-' onenine digits

A string is a sequence of zero or more


Unicode characters, wrapped
in double digits

quotes, using backslash escapes. A character digit

is represented as a
single character string. A
string is very much like a C or Java string. digit digits

digit

'0'

onenine

onenine

'1' . '9'

fraction

""

'.' digits

exponent

""

'E' sign digits

'e' sign digits

https://www.json.org/json-en.html 2/6
8/16/2021 JSON

sign

""

'+'

'-'

ws

""

'0020' ws

'000A' ws

'000D' ws

'0009' ws

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.

https://www.json.org/json-en.html 3/6
8/16/2021 JSON

8th ColdFusion
json SerializeJSON
ActionScript D
ActionScript3 std.json
Ada asdf
GNATCOLL.JSON vibe.data.json
AdvPL Dart
JSON-ADVPL json library
APL Delphi
⎕JSON Delphi Web Utils
ASP JSON Delphi Library
JSON for ASP E
JSON ASP utility class JSON in TermL
AWK Fantom
JSON.awk Json
rhawk FileMaker
BlitzMax JSON
bmx-rjson Fortran
C json-fortran
JSON_checker YAJL-Fort
YAJL jsonff
LibU Go
json-c package json
json-parser Groovy
jsonsl groovy-io
WJElement Haskell
M's JSON parser RJson package
cJSON json package
Jansson Java
jsmn JSON-java
parson JSONUtil
ujson4c jsonp
frozen Json-lib
microjson Stringtree
mjson SOJO
progbase json-taglib
lwjson Flexjson
cisson Argo
C++ jsonij
JSONKit fastjson
jsonme-- mjson
ThorsSerializer jjson
JsonBox json-simple
jvar json-io
rapidjson google-gson
JSON for Modern C++ FOSS Nova JSON
minijson Corn CONVERTER
jsoncons Apache johnzon
jsoncpp Genson
univalue cookjson
ArduinoJson progbase
QJson jackson
CAJUN MOXy
libjson JavaScript
nosjob JSON
JSON library for IoT json2.js
qmjson clarinet
JSON Support in Qt Oboe.js
https://www.json.org/json-en.html 4/6
8/16/2021 JSON

JsonWax for Qt progbase


progbase LabVIEW
Qentem-Engine flatten
C# Lisp
fastJSON Common Lisp JSON
JSON_checker LiveCode
Json.NET mergJSON
JSON for .NET LotusScript
Manatee Json JSON LS
FastJsonParser Lua
LightJson JSON Modules
Liersch.Json M
Liersch.JsonSerialization DataBallet
progbase Matlab
Clojure JSONlab
data.json 20565
Cobol 23393
Redvers COBOL JSON Interface Net.Data
netdata-json

Nim
Module json
Objective C
NSJSONSerialization
json-framework
JSONKit
yajl-objc
TouchJSON
OCaml
jsonm
PascalScript
JsonParser
Perl
CPAN
Photoshop
JSON Photoshop Scripting
PHP
PHP 5.2
PicoLisp
picolisp-json
Pike
Public.Parser.JSON
Public.Parser.JSON2
PL/SQL
pljson
PureBasic
JSON
Puredata
PuRestJson
Python
The Python Standard Library
simplejson
pyson
Yajl-Py
ultrajson
metamagic.json
progbase
https://www.json.org/json-en.html 5/6
8/16/2021 JSON

R
rjson
jsonlite
Racket
json-parsing
Rebol
json.r
RPG
JSON Utilities
Rust
Serde JSON
json-rust
Ruby
yajl-ruby
json-stream
progbase
Scala
circe
Scheme
MZScheme
JSON-struct
Shell
Jshon
JSON.sh
jwalk
Squeak
Squeak
Tcl
JSON
Visual Basic
VB-JSON
PW.JSON
.NET-JSON-Transformer
progbase
Visual FoxPro
fwJSON
JSON
vfpjson

Videos about JSON


Videos about the JSON Logo
Heresy & Heretical Open Source: A Heretic's Perspective
How JavaScript Works by Douglas Crockford

https://www.json.org/json-en.html 6/6

You might also like