Tatsuhiko Miyagawa
and 1 contributors




  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 Load and Dump.

Oh, and JSON::Syck doesn't use camelCase method names :-)


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)


According to the JSON specification, all JSON strings are to be double-quoted. However, when embedding JavaScript in HTML attributes, it may be more convenient to use single quotes.

Set $JSON::Syck::SingleQuote to 1 will make both Dump and Load expect single-quoted string literals.


Audrey Tang <autrijus@autrijus.org>

Tatsuhiko Miyagawa <miyagawa@gmail.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.