16 lines
896 B
Plaintext
16 lines
896 B
Plaintext
|
This module provides an implementation of the JavaScript Object Notation (JSON)
|
||
|
format, as defined by RFC 8259. Note that several other, incompatible
|
||
|
specifications exist. This implementation does not include any extensions; only
|
||
|
features which are strictly required by the spec are implemented.
|
||
|
|
||
|
A lexer for JSON values is provided, which may be initialized with [[lex]] and
|
||
|
provides tokens via [[next]], and which uses a relatively small amount of memory
|
||
|
and provides relatively few guarantees regarding the compliance of the input with
|
||
|
the JSON grammar.
|
||
|
|
||
|
Additionally, the [[value]] type is provided to store any value JSON value, as
|
||
|
well as helpers like [[newobject]], [[get]], and [[set]]. One can load a JSON
|
||
|
value from an input stream into a heap-allocated [[value]] via [[load]], which
|
||
|
enforces all of JSON's grammar constraints and returns an object which must be
|
||
|
freed with [[finish]].
|