JSON serialising/deserialising, done correctly and fast
This module converts Perl data structures to JSON and vice versa. Its
primary goal is to be *correct* and its secondary goal is to be *fast*.
To reach the latter goal it was written in C.
Beginning with version 2.0 of the JSON module, when both JSON and
JSON::XS are installed, then JSON will fall back on JSON::XS (this can
be overridden) with no overhead due to emulation (by inheriting
constructor and methods). If JSON::XS is not available, it will fall
back to the compatible JSON::PP module as backend, so using JSON instead
of JSON::XS gives you a portable JSON API that can be fast when you need
and doesn`t require a C compiler when that is a problem.
As this is the n-th-something JSON module on CPAN, what was the reason
to write yet another JSON module? While it seems there are many JSON
modules, none of them correctly handle all corner cases, and in most
cases their maintainers are unresponsive, gone missing, or not listening
to bug reports for other reasons.
Author:
-------
Marc Lehmann
- Developed at devel:languages:perl
-
1
derived packages
- Download package
-
Checkout Package
osc -A https://api.opensuse.org checkout openSUSE:Factory/perl-JSON-XS && cd $_
- Create Badge
Source Files
Filename | Size | Changed |
---|---|---|
JSON-XS-2.34.tar.gz | 0000075468 73.7 KB | |
perl-JSON-XS.changes | 0000004196 4.1 KB | |
perl-JSON-XS.spec | 0000002801 2.74 KB |
Revision 14 (latest revision is 24)
- updated to 2.34 - work around bugs in perl 5.18 breaking more than 100 widely used modules, without a fix in sight because p5pers don't care about CPAN anymore. - when canonicalising, only allocate up to 64 hash key pointers on the stack. for larger hashes, use the heap, to avoid using too much stackspace. - discuss the problem with setlocale (reported by a few victims). - internal encode/decode XS wrappers did not expect stack moves caused by callbacks (analyzed and testcase by Jesse Luehrs). - add bencode as to/from option in bin/json_xs. - add -e option to json_xs, and none and string in/out formats.
Comments 0