API JSON Conventions
JSON does not specify representations of all data types; this is a guide to how the NOLS API interprets resources in JSON format. This does not reiterate the JSON specification, it highlights the grey areas.
booleans
Use true
or false
: the API will reject null
values.
numbers (integers and floats)
Use well-formed numbers per JSON spec: null
is used for non-values.
strings
For INPUT use strings per JSON spec: empty strings ""
and null
are interpreted as non-values.
For OUTPUT the API will always return empty strings for non-values.
numbers (full precision decimals)
A special case of strings.
For INPUT use string of digits with fixed point of "."
. Empty strings ""
and null
are
interpreted as non-values.
For OUTPUT the API will always return null
for non-values.
dates
A special case of strings.
For INPUT use ISO-8601 date format "YYYY-MM-DD"
. Empty strings ""
and null
are interpreted as
non-values.
OUTPUT will always be in "YYYY-MM-DD"
format or null
for non-values.
date-times
A special case of strings.
For INPUT use ECMA-262 date time format ("YYYY-MM-DDTHH:mm:ss.sssZ"
or
"YYYY-MM-DDTHH:mm:ss.sss+-HH:mm"
). Empty strings ""
and null
are interpreted as non-values.
Fractional seconds will always be accepted, but ignored in some cases depending on underlying data
storage.
OUTPUT will always be in "YYYY-MM-DDTHH:mm:ss.sssZ"
format (UTC, optional fractional seconds) or
null
for non-values.