JSON: Difference between revisions
m (using an external editor) |
mNo edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 7: | Line 7: | ||
== Technology == | == Technology == | ||
* JSON is one of the rare modern data-interchange formats that is '''not''' XML. | * JSON is one of the rare modern data-interchange formats that is '''not''' XML. | ||
JSON is a subset of the object literal notation of JavaScript. Since JSON is a subset of JavaScript, it can be used in the language with no muss or fuss. | |||
{{quotationbox|JSON supports several data types including: | |||
* number (integer, real, or floating point) | |||
* String (double-quoted Unicode with backslash escapement) | |||
* boolean (true and false) | |||
* Array (an ordered sequence of values, comma-separated and enclosed in square brackets) | |||
* Object (collection of key/value pairs, comma-separated and enclosed in curly brackets) | |||
* null ([http://www.webreference.com/programming/javascript/rg5/index.html Rob Gravell], retr. feb 2008)}} | |||
JSON is built on two structures: | { | ||
"anInt": 5555, | |||
"aFloat": 55.055, | |||
"aString": "testing", | |||
"aBoolean": true, | |||
"anArray": [1, "2", 3.34, "dog"], | |||
"anObject": { | |||
"prop1": "a value", | |||
"prop2": "another value", | |||
"prop3": -9999 | |||
}, | |||
"aNull": null | |||
} | |||
JSON is built on two structures (JSON website, retr. May 2007): | |||
* 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. | * 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. | * An ordered list of values. In most languages, this is realized as an array, vector, list, or sequence. | ||
var myJSONObject = {"bindings": [ | var myJSONObject = {"bindings": [ | ||
Line 38: | Line 57: | ||
; Tutorials and Overviews | ; Tutorials and Overviews | ||
* [http://en.wikipedia.org/wiki/JSON JSON Wikipedia page] | * [http://en.wikipedia.org/wiki/JSON JSON Wikipedia page] | ||
* [http://www.webreference.com/programming/javascript/rg5/index.html An Introduction to JavaScript Object Notation (JSON)] by Bob Gravelle, 2008. | |||
[[Category: XML]] | [[Category: XML]] | ||
[[Category: Rich internet applications]] | [[Category: Rich internet applications]] | ||
[[Category:JavaScript]] |
Latest revision as of 17:40, 9 July 2009
Definition
“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, retrieved 19:07, 15 May 2007 (MEST)).
“JSON (JavaScript Object Notation) is a lightweight computer data interchange format. It is a text-based, human-readable format for representing objects and other data structures and is mainly used to transmit such structured data over a network connection (in a process called serialization). JSON finds its main application in AJAX web application programming, as a simple alternative to using XML for asynchronously transmitting structured information between client and server.” ([1], retrieved 19:07, 15 May 2007 (MEST))
Technology
- JSON is one of the rare modern data-interchange formats that is not XML.
JSON is a subset of the object literal notation of JavaScript. Since JSON is a subset of JavaScript, it can be used in the language with no muss or fuss.
JSON supports several data types including:
- number (integer, real, or floating point)
- String (double-quoted Unicode with backslash escapement)
- boolean (true and false)
- Array (an ordered sequence of values, comma-separated and enclosed in square brackets)
- Object (collection of key/value pairs, comma-separated and enclosed in curly brackets)
- null (Rob Gravell, retr. feb 2008)
{ "anInt": 5555, "aFloat": 55.055, "aString": "testing", "aBoolean": true, "anArray": [1, "2", 3.34, "dog"], "anObject": { "prop1": "a value", "prop2": "another value",
"prop3": -9999 }, "aNull": null
}
JSON is built on two structures (JSON website, retr. May 2007):
- 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.
var myJSONObject = {"bindings": [ {"ircEvent": "PRIVMSG", "method": "newURI", "regex": "^http://.*"}, {"ircEvent": "PRIVMSG", "method": "deleteURI", "regex": "^delete.*"}, {"ircEvent": "PRIVMSG", "method": "randomURI", "regex": "^random.*"} ] };
In this example, an object is created containing a single member "bindings", which contains an array containing three objects, each containing "ircEvent", "method", and "regex" members.
Members can be retrieved using dot or subscript operators.
myJSONObject.bindings[0].method // "newURI"
Links
- Official
- JSON HomePage
- RFC 4627 JSON specification
- Tutorials and Overviews
- JSON Wikipedia page
- An Introduction to JavaScript Object Notation (JSON) by Bob Gravelle, 2008.