| LuaJSON |
| JSON Parser/Constructor for Lua |
| |
| Author: Thomas Harning Jr. <harningt@gmail.com> |
| |
| Source code: |
| http://repo.or.cz/luajson |
| |
| Bug reports: |
| http://github.com/harningt/luajson |
| harningt@gmail.com |
| |
| Requirements |
| Lua 5.1 |
| LPeg (Tested with 0.7, 0.8, 0.9 ... 0.6 mostly works) |
| For regressionTest: |
| lfs (Tested with 1.4.1) |
| For lunit-tests: |
| lunit >= 0.4 |
| |
| License |
| All-but tests: MIT-style, See LICENSE for details |
| tests/*: Public Domain / MIT - whichever is least restrictive |
| |
| Module/Function overview: |
| json.encode (callable module referencing json.encode.encode) |
| --encode ( value : ANY-valid ) |
| |
| Takes in a JSON-encodable value and returns the JSON-encoded text |
| Valid input types: |
| table |
| array-like table (spec below) |
| string |
| number |
| boolean |
| 'null' - represented by json.util.null |
| Table keys (string,number,boolean) are encoded as strings, others are erroneus |
| Table values are any valid input-type |
| Array-like tables are converted into JSON arrays... |
| Position 1 maps to JSON Array position 0 |
| --isEncodable ( value : ANY ) |
| Returns a boolean stating whether is is encodeable or not |
| NOTE: Tables/arrays are not deeply inspected |
| |
| json.decode (callable module referencing json.decode.decode) |
| --decode (data : string, strict : optional boolean) |
| Takes in a string of JSON data and converts it into a Lua object |
| If 'strict' is set, then the strict JSON rule-set is used |
| |
| json.util |
| --printValue (tab : ANY, name : string) |
| recursively prints out all object values - if duplicates found, reference printed |
| --null |
| Reference value to represent 'null' in a well-defined way to |
| allow for null values to be inserted into an array/table |
| |
| Attribution: |
| parsing test suite from JSON_checker project of http://www.json.org/ |
| No listed license for these files in their package. |