JSON(6)JSON(6)NAMEjson - javascript object notation
DESCRIPTION
JSON is a textual data transport encoding for a small collection of
basic and structured values: null, booleans, numbers, strings, arrays,
and objects (property/value list). It is a subset of JavaScript
(ECMAScript). Json(2) describes a Limbo module that can read and write
streams of JSON-encoded data.
The encoding syntax and its interpretation is defined by Internet
RFC4627, but is briefly summarised here:
text ::= array | object
value ::= null | true | false | number | string | array | object
object ::= '{' [pair (',' pair)*] '}'
pair ::= string ':' value
array ::= '[' [value (',' value)*] ']'
number ::= int frac? exp?
int ::= '-'? [0-9] | [1-9][0-9]+
frac ::= '.' [0-9]+
exp ::= [eE][-+]? [0-9]+
string ::= '"' char* '"'
char ::= [^\x00-\x1F"\\] |
'\"' | '\/' | '\b' | '\f' | '\n' | '\r' | '\t' |
'\u' hex hex hex hex
hex ::= [0-9a-fA-F]
A sequence of blank, tab, newline or carriage-return characters (`white
space') can appear before or after opening and closing brackets and
braces, colons and commas, and is ignored. The null represents a null
value of any type. The strings in the pairs of an object are intended
to represent member names, and should be unique within that object.
Note that array and object denotations can be empty. Also note that
the RFC wants applications to exchange a text (ie, object or array) not
an arbitrary value.
SEE ALSOjson(2), sexprs(6), ubfa(6)
D Crockford, ``The application/json Media Type for JavaScript Object
Notation (JSON)'', RFC4627.
http://www.json.org/
JSON(6)