steven confessore
09f46265fe
handle encoding of number based key properties
...
i was unable to encode a table due to some number based key properties.
i modified the encode function to check for number based keys in addition to the already present string based keys.
an error will still be returned if the key is neither string nor number based.
it works in my cases
2022-11-11 20:37:52 -05:00
rxi
11077824d7
Updated copyright year: 2019 => 2020
2020-04-05 12:06:41 +01:00
rxi
2e76cfb067
Fixed bug in `parse_string`'s escape sequence handling
...
Fixes #22
2020-04-05 11:56:28 +01:00
rxi
d1e3b0f5d0
Version 0.1.2
2019-06-21 22:44:42 +01:00
rxi
69b714ad2b
Updated copyright year (2018 -> 2019)
2019-04-09 20:20:50 +01:00
niki
d3f417d4d4
fix array detection when using overloaded indexing
2019-01-11 19:22:04 +01:00
rxi
bee7ee3431
Version 0.1.1
2018-04-08 16:17:25 +01:00
rxi
eb6e343c53
Added checking and tests for trailing garbage when decoding
2018-03-10 14:28:50 +00:00
rxi
19cc024df6
Updated copyright year (2015 -> 2018), moved full license to json.lua
2018-03-10 14:16:05 +00:00
rxi
cc9833592e
Version 0.1.0
2015-09-15 22:34:55 +01:00
rxi
bf3ebf6679
Added argument type-checking to json.decode()
2015-09-06 14:07:28 +01:00
rxi
89b0e905ef
Changed empty table to be treated as array when encoding
2015-09-06 10:32:25 +01:00
rxi
19b61e0628
Improved error message when encoding mixed/bad key types
2015-09-05 19:56:53 +01:00
rxi
4fb28bbeee
Fixed decoding of escaped '/', added test
2015-08-31 18:43:08 +01:00
rxi
9fbfcde195
Improved error messages when encoding invalid table
2015-08-30 19:17:58 +01:00
rxi
70556ccea5
Added checking for sparseness and mixed key types when encoding array
2015-08-30 19:08:50 +01:00
rxi
3845cef229
Renamed 'keyword' -> 'literal'
2015-08-20 18:54:00 +01:00
rxi
83164fb45c
Removed unused `chr` argument from internal parse funcs
2015-08-19 21:15:32 +01:00
rxi
425c8b3e88
Replaced use of string.sub() + .byte() in parse_string with just .byte()
...
Provides a noticeable speed improvement on both Lua5.2 and LuaJIT 2.0.2
2015-08-19 21:00:40 +01:00
rxi
6fdbd28ed9
Replaced new-line-in-string check with control-char check; tests
2015-08-19 20:00:11 +01:00
rxi
7f823abd2e
Fixed parse_string() to handle "\\" correctly, added tests
2015-08-19 19:28:10 +01:00
rxi
9beca8a5bd
Changed encode_number() number->string conversion method
...
Using Lua5.3, tonumber() will represent the float `1` as "1.0" instead
of "1". Using string.format("%14g, x) `1` is converted to "1" regardless
of whether it's an int or float. All other conversions seem to be
uneffected.
2015-08-15 11:52:07 +01:00
rxi
3cfffd299e
Fixed codepoint_to_utf8()'s string.char usage for Lua5.3
...
Lua5.3 requires that string.char's arguments are integers (<=5.2 and JIT
do not)
2015-08-15 10:56:01 +01:00
rxi
b51b7a53f7
Minor formatting change to parse() func
2015-08-15 10:41:39 +01:00
rxi
89a5a96194
Removed support for numbers starting with "."
2015-08-13 18:33:18 +01:00
rxi
8d14272359
Fixed parse_object() to disallow non-string keys
2015-08-13 18:31:21 +01:00
rxi
10811fbad7
Added support for decoing surrogate pairs
2015-08-12 19:37:03 +01:00
rxi
f36b2f34b7
Removed use of loadstring() in parse_string()
...
Significant performance boost
2015-08-12 18:23:30 +01:00
rxi
157fa12fae
Fixed parse_keyword() from making null -> false
2015-08-11 21:15:49 +01:00
rxi
8b9c820218
Initial commit
2015-08-11 21:08:33 +01:00