Commit Graph

30 Commits (09f46265fe49799adfd95b2db4a9d56408a8f95f)

Author SHA1 Message Date
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