Overview
JSON, or JavaScript Object Notation, is an open standard format that uses human-readable text to transmit data objects consisting of attribute–value pairs. It is used primarily to transmit data between a server and web application, as an alternative to XML.(From Wikipedia)
JSON maps relatively well onto Lua tables, with two issues.
- Mapping JSON null to Lua nil is not straightforward. When assigning nil to a table entry, the entry just disappears.
- Lua does not preserve the order of items in a table.
To fix these, the JSON implementation presented here requires the use of a JSON schema when encoding a table into JSON. The schema ensures that null entries are preserved and that the order of items is as required by the schema.
Functions
table.toJson() encodes a lua table into a JSON string.
table.fromJson() decodes a JSON string into a lua table.
table.fromJsonSchema() decodes a JSON schema specification for use with table.toJson().