JSON::Syck - JSON is YAML
use JSON::Syck; my $data = JSON::Syck::Load($json); my $json = JSON::Syck::Dump($data);
JSON::Syck is a syck implementatoin of JSON parsing and generation. Because JSON is YAML (http://redhanded.hobix.com/inspect/yamlIsJson.html), using syck gives you the fastest and most memory efficient parser and dumper for JSON data representation.
You might want to know the difference between JSON and JSON::Syck.
Since JSON is a pure-perl module and JSON::Syck is based on libsyck, JSON::Syck is supposed to be very fast and memory efficient. See chansen's benchmark table at http://idisk.mac.com/christian.hansen/Public/perl/serialize.pl
JSON.pm comes with dozens of ways to do the same thing and lots of options, while JSON::Syck doesn't. There's only
Oh, and JSON::Syck doesn't use camelCase method names :-)
For now, when you pass a scalar reference to JSON::Syck, it derefernces to get the actual scalar value. It means when you pass self-referencing reference, JSON::Syck goes into infinite loop. Don't do it.
If you want to serialize self refernecing stuff, you should use YAML which supports it.
When you pass subroutine reference, JSON::Syck dumps it as null.
By default this module doesn't touch any of Unicode flags, and assumes UTF-8 bytes to be passed and emit as an interface. However, when you set
$JSON::Syck::ImplicitUnicode to 1, this module properly decodes UTF-8 binaries and sets Unicode flag everywhere, as in:
JSON (UTF-8 bytes) => Perl (Unicode flagged) JSON (Unicode flagged) => Perl (Unicode flagged) Perl (UTF-8 bytes) => JSON (Unicode flagged) Perl (Unicode flagged) => JSON (Unicode flagged)
$JSON::Syck::SingleQuote to 1 will make both
Load expect single-quoted string literals.
Audrey Tang <firstname.lastname@example.org>
Tatsuhiko Miyagawa <email@example.com>
This module is originally forked from Audrey Tang's excellent YAML::Syck module and 99.9% of the XS code is written by Audrey.
The libsyck code bundled with this module is written by why the lucky stiff, under a BSD-style license. See the COPYING file for details.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.