| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
|
|
|
|
|
|
| |
Only update the locale when the module is initialised.
cjson.new() can be used if the locale changes part way
through program execution.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Update all Lua scripts to use new module init style everywhere:
local json = require "cjson"
Lua CJSON does not register a global table under Lua 5.2. The global
table can be disabled under Lua 5.1 with DISABLE_CJSON_GLOBAL.
Other changes:
- Store CJSON configuration as an upvalue for each function.
- Add "cjson.new" function to create another module table with a
separate configuration.
- Add _NAME and _VERSION variables.
|
|
|
|
|
|
|
|
| |
Create a separate buffer and translate comma <> dot before calling
strtod(), and after calling sprintf() as required.
- Add "update_locale" Lua API call and init locale on module load.
- Move sprintf format string to fpconv
|
| |
|
| |
|
|
|
|
|
| |
Display failed tests, and successful/total test counts.
Use "awk" to provide a portable "ggrep -E" with context.
|
|
|
|
|
|
|
| |
- Use Perl filehandles directly since IO::Handle generates
unicode warnings that can't be silenced.
- Disable all warnings since the specific "nonchar" warning only
exists in newer versions.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some locales (cs_CZ, de_DE,..) use a comma as their decimal separator.
This causes CJSON to generate incorrect JSON (Eg, [10,1]), and fail when
parsing some valid JSON (Eg, [10,"test"]).
Added USE_POSIX_LOCALE #define which harnesses the thread-safe
POSIX.1-2008 locale support (newlocale(), uselocale(), freelocale())
to temporarily use the POSIX locale during JSON conversion.
Some older POSIX operating systems with xlocale.h (MacOSX) are also
supported.
|
|
|
|
|
|
|
|
|
|
|
|
| |
lua_array_length() recognised some objects with numeric string
keys as arrays since it was incorrectly using lua_isnumber().
When an object was incorrectly recognised as an array,
json_append_array() would not find any entries and generate a
result like:
[null,null,...]
Reported by: Zhang "agentzh" Yichun <agentzh@gmail.com>
|
|
|
|
|
| |
Roughly calculate the number of iterations required to run the benchmark
for the chosen duration.
|
| |
|
| |
|
|
|
|
|
|
| |
Add cjson.encode_number_precision(). Reducing the number precision from
14 to 3 can increase performance up to 50% with number heavy
conversions.
|
| |
|
| |
|
|
|
|
| |
Remove Perl dependency on Text::Iconv to improve portability.
|
|
|
|
|
| |
Move benchmark() into bench.lua since it not used elsewhere.
Replace posix.gettimeofday() with socket.gettime() to improve portability.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Sprintf returns "-nan" rather than "nan" on some platforms, which causes
the test script to incorrectly flag a failure.
Also allow test functions without "==> Config" output.
|
| |
|
| |
|
| |
|
|
|
|
| |
Suspending GC appears to make the benchmark results more consistent.
|
|
|
|
|
|
|
| |
Remove excess whitespace to reduce output size and increase encode
performance.
Suggested by: Zhang "agentzh" Yichun <agentzh@gmail.com>
|
|
|
|
|
|
| |
- Use pcall() to call test config functions.
- Test encoding with refuse_invalid_numbers() options.
- Test encoding invalid types.
|
|
|
|
|
| |
Change "perl -w" to "use warnings" for compatibility with systems that
put all #! args into argv[1].
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- Add tests for UTF-16 decoding and failures
- Add getutf8.pl to assist with UTF-16 decode testing
- Re-add test_decode_cycle() which was accidentally removed earlier
- Rename bytestring.dat to octets-escaped.dat
|
| |
|
| |
|
|
|
|
|
|
|
|
| |
- Add run_test(): Test a function and verify its output
- Add run_test_group(): Execute a test batch
- Add serialise_value(): Serialise a Lua value into the Lua syntax
- Add file_save() helper function
- Add NaN comparison support to compare_values()
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Douglas Crockford <douglas@crockford.com> has given permission
for these examples to be used.
Message-ID: <4DC01FB7.8090001@crockford.com>
Date: Tue, 03 May 2011 08:31:03 -0700
From: Douglas Crockford
To: Mark Pulford
Subject: Re: JSON examples
|
|
|