JSON(6) JSON(6)
NAME
json - javascript object notation
DESCRIPTION
JSON is a textual data transport encoding for a small col-
lection of basic and structured values: null, booleans, num-
bers, 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 charac-
ters (`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 ALSO
json(2), sexprs(6), ubfa(6)
D Crockford, ``The application/json Media Type for
JavaScript Object Notation (JSON)'', RFC4627.
http://www.json.org/
Page 1 Plan 9 (printed 10/30/25)