| author | Yves-Marie Haussonne <1218002+ymph@users.noreply.github.com> |
| Tue, 14 Feb 2012 14:35:09 +0100 | |
| changeset 516 | 819a9cd7679c |
| parent 266 | bb7a2f8202b9 |
| permissions | -rwxr-xr-x |
|
266
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
1 |
JSON in JavaScript |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
2 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
3 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
4 |
Douglas Crockford |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
5 |
douglas@crockford.com |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
6 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
7 |
2010-11-18 |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
8 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
9 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
10 |
JSON is a light-weight, language independent, data interchange format. |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
11 |
See http://www.JSON.org/ |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
12 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
13 |
The files in this collection implement JSON encoders/decoders in JavaScript. |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
14 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
15 |
JSON became a built-in feature of JavaScript when the ECMAScript Programming |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
16 |
Language Standard - Fifth Edition was adopted by the ECMA General Assembly |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
17 |
in December 2009. Most of the files in this collection are for applications |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
18 |
that are expected to run in obsolete web browsers. For most purposes, json2.js |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
19 |
is the best choice. |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
20 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
21 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
22 |
json2.js: This file creates a JSON property in the global object, if there |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
23 |
isn't already one, setting its value to an object containing a stringify |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
24 |
method and a parse method. The parse method uses the eval method to do the |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
25 |
parsing, guarding it with several regular expressions to defend against |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
26 |
accidental code execution hazards. On current browsers, this file does nothing, |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
27 |
prefering the built-in JSON object. |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
28 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
29 |
json.js: This file does everything that json2.js does. It also adds a |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
30 |
toJSONString method and a parseJSON method to Object.prototype. Use of this |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
31 |
file is not recommended. |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
32 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
33 |
json_parse.js: This file contains an alternative JSON parse function that |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
34 |
uses recursive descent instead of eval. |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
35 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
36 |
json_parse_state: This files contains an alternative JSON parse function that |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
37 |
uses a state machine instead of eval. |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
38 |
|
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
39 |
cycle.js: This file contains two functions, JSON.decycle and JSON.retrocycle, |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
40 |
which make it possible to encode cyclical structures and dags in JSON, and to |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
41 |
then recover them. JSONPath is used to represent the links. |
|
bb7a2f8202b9
Jane McGonigal : jeux video
Samuel Huron <samuel.huron@centrepompidou.fr>
parents:
diff
changeset
|
42 |
http://GOESSNER.net/articles/JsonPath/ |