decoder: fixes compatibility with lpeg 0.12 by closing off 0-length captures in loops
[luajson.git] / README
blob9a3817378d64cf82118f56ec33b3f98a0d2c46e0
1 LuaJSON
2         JSON Parser/Constructor for Lua
4 Author: Thomas Harning Jr. <harningt@gmail.com>
6 Source code:
7     http://repo.or.cz/luajson
9 Bug reports:
10     http://github.com/harningt/luajson
11     harningt@gmail.com
13 Requirements
14         Lua 5.1, 5.2, or LuaJIT 2.0
15         LPeg (Tested with 0.7, 0.8, 0.9, 0.10 ... 0.6 mostly works)
16         For regressionTest:
17                 lfs (Tested with 1.4.1)
18         For lunit-tests:
19                 lunit >= 0.4
21 Lua versions tested recently:
22     Lua 5.1.4 + strict + pl.strict
23     Lua 5.2.0 + pl.strict
24     LuaJIT-2.0.0-beta10 + strict + pl.strict
26 License
27         All-but tests: MIT-style, See LICENSE for details
28         tests/*:       Public Domain / MIT - whichever is least restrictive
30 Module/Function overview:
31         json.encode (callable module referencing json.encode.encode)
32         --encode ( value : ANY-valid )
34                 Takes in a JSON-encodable value and returns the JSON-encoded text
35                 Valid input types:
36                         table
37                         array-like table (spec below)
38                         string
39                         number
40                         boolean
41                         'null' - represented by json.util.null
42                 Table keys (string,number,boolean) are encoded as strings, others are erroneus
43                 Table values are any valid input-type
44                 Array-like tables are converted into JSON arrays...
45                         Position 1 maps to JSON Array position 0
46         --isEncodable ( value : ANY )
47                 Returns a boolean stating whether is is encodeable or not
48                 NOTE: Tables/arrays are not deeply inspected
50         json.decode (callable module referencing json.decode.decode)
51         --decode        (data : string, strict : optional boolean)
52                 Takes in a string of JSON data and converts it into a Lua object
53                 If 'strict' is set, then the strict JSON rule-set is used
55         json.util
56         --printValue (tab : ANY, name : string)
57                         recursively prints out all object values - if duplicates found, reference printed
58         --null
59                         Reference value to represent 'null' in a well-defined way to
60                         allow for null values to be inserted into an array/table
61         --merge (t : table, ... : tables)
62                         Shallow-merges a sequence of tables onto table t by iterating over each using
63                         pairs and assigning.
65 Attribution:
66         parsing test suite from JSON_checker project of http://www.json.org/
67         No listed license for these files in their package.