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
dbf4b2dd2e
Create FUNDING.yml
2020-06-18 17:03:53 +01:00
rxi
ee6abdecb2
Updated README for loc changes
2020-04-05 12:08:38 +01:00
rxi
11077824d7
Updated copyright year: 2019 => 2020
2020-04-05 12:06:41 +01:00
rxi
6d080a1a66
Additional string tests
2020-04-05 12:04:05 +01:00
rxi
2e76cfb067
Fixed bug in `parse_string`'s escape sequence handling
...
Fixes #22
2020-04-05 11:56:28 +01:00
rxi
8aa60078ca
Added currently failing test case for `u` preceded with multiple `\` in tests
2020-04-05 10:31:45 +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
rxi
f049daf06c
Merge pull request #15 from nikeinikei/master
...
Fix serializing of tables with overloaded indexing / using __index metamethod
2019-04-09 20:10:27 +01:00
niki
fd58f29876
Merge branch 'master' of https://github.com/nikeinikei/json.lua
2019-01-11 19:22:45 +01:00
niki
d3f417d4d4
fix array detection when using overloaded indexing
2019-01-11 19:22:04 +01:00
niki
e1abe1c45c
fix array detection when using overloaded indexing
2019-01-11 19:12:00 +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
e1dbe93f7c
Commented-out "strict decode" tests
...
These tests failing isn't an indication of the library not working as
intended; omitting them for the moment
2015-09-30 21:03:27 +01: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
45cd518b25
Fixed mistake in README
2015-08-30 21:37:10 +01:00
rxi
cd8ecd34e3
Updated point in Notes section
2015-08-30 19:32:43 +01:00
rxi
9fbfcde195
Improved error messages when encoding invalid table
2015-08-30 19:17:58 +01:00
rxi
a674e3ec0f
Updated tests for encoding sparse/mixed key-type tables
2015-08-30 19:11:19 +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
2547923431
Updated README for increase in code size
2015-08-19 21:03:25 +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
50f4512c2c
Added additional case in 'numbers' test
2015-08-15 11:58:06 +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
7b8aef0090
Fixed test for Lua5.1 - can't use %s format spec with table
2015-08-15 11:02:43 +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
d1ebba043c
Fixed indentation in benchmark util script
2015-08-14 20:00:48 +01:00
rxi
ced32bd221
README updates
2015-08-14 19:53:23 +01:00
rxi
9720bb9f10
Added warmup for JIT in benchmark scripts
2015-08-14 19:21:42 +01:00
rxi
8cb56f3d73
Changed decode benchmark script to prevent use of lpeg
2015-08-14 19:09:20 +01:00
rxi
c8e460b442
Added benchmark scripts
2015-08-13 19:11:09 +01:00
rxi
31564c4195
Changed project overview text in README
2015-08-13 18:40:09 +01:00
rxi
8bd7c4f8e7
Added more parts to the "strict decode" test
2015-08-13 18:37:57 +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
e150a5239c
Tests
2015-08-13 18:30:44 +01:00
rxi
05ad7beaf3
Updated README for surrogate pair support and increased size
2015-08-12 19:38:01 +01:00
rxi
10811fbad7
Added support for decoing surrogate pairs
2015-08-12 19:37:03 +01:00