JSON

JSON, short for JavaScript Object Notation, is a lightweight data-interchange format. The canonical description at json.org calls it “easy for humans to read and write” and “easy for machines to parse and generate.” It is built on two universal structures: a collection of name/value pairs, known in most languages as an object, and an ordered list of values, known as an array.

JSON grew out of JavaScript and was popularized by Douglas Crockford, who put up the json.org description and obtained the domain name. The json.org page notes that the format is based on a subset of the JavaScript Programming Language Standard, ECMA-262 3rd Edition of December 1999, while remaining completely language-independent in practice and using conventions familiar to programmers of the C family of languages.

The format was given a formal standard as ECMA-404, “The JSON data interchange syntax,” published by Ecma International. ECMA-404 specifies only the syntax of valid JSON texts and deliberately does not define how JSON should be semantically interpreted or processed.

JSON is also specified by the IETF in RFC 8259, “The JavaScript Object Notation (JSON) Data Interchange Format,” edited by Tim Bray and published in December 2017 as an Internet Standard. RFC 8259 obsoletes the earlier RFC 7159. Together these standards made JSON the default data format for web APIs, gradually displacing XML in many applications, including those built with Ajax.