web/res/douglascrockford-JSON-js/README
author Raphael Velt <raph.velt@gmail.com>
Fri, 04 Nov 2011 16:12:32 +0100
changeset 354 19ed2a92d3c1
parent 266 bb7a2f8202b9
permissions -rwxr-xr-x
Merge
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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/