Synopsis
structure JSON
Interface
datatype value
= OBJECT of (string * value) list
| ARRAY of value list
| NULL
| BOOL of bool
| INT of IntInf.int
| INTLIT of string
| FLOAT of real
| STRING of string
Description
datatype value = …
-
This datatype represents JSON values as trees. The constructors are
OBJECT of (string * value) list
-
represents a JSON object value; i.e., a list of key-value pairs. Note that the keys should be unique.
ARRAY of value list
-
represents a JSON array value.
NULL
-
represents the JSON value
"null"
. BOOL of bool
-
represents the JSON values
"true"
and"false"
. INT of IntInf.int
-
represents JSON integer numbers.
INTLIT of string
-
represents JSON integer numbers that have a large number of digits.
FLOAT of real
-
represents JSON floating-point numbers.
STRING of string
-
represents JSON strings, which are assumed to be UTF-8 encoded.
Example
The JSON value
{ "a" : 23,
"b" : [ false, true ],
"c" : "hello world"
}
has the following representation using the value datatype:
OBJECT[
("a", INT 23),
("b", ARRAY[BOOL false, BOOL true]),
("c", STRING "hello world")
]