Jifty::JSON -- Wrapper around JSON
use Jifty::JSON qw/decode_json encode_json/; my $obj = decode_json(q! { "x": "1", "y": "2", "z": "3" } !); my $json = encode_json($obj);
Provides a thin wrapper around the JSON 2.xx library, which provides a frontend for JSON::XS and JSON::PP.
This module used to wrap JSON::Syck and JSON 1.xx with special-casing for outputting JSON with single quoted values. Single quotes make it easy to simply plop JSON into HTML attributes but are in violation of the JSON spec which mandates only double quoted strings.
The old behavior is now unsupported and it is recommended that you simply HTML escape your entire blob of JSON if you are sticking it in an HTML attribute. You can use Jifty->web->escape() to properly escape problematic characters for HTML.
These functions are just like JSON's, except that you can pass options to them like you can with JSON's from_json and to_json functions.
from_json
to_json
By default they encode/decode using UTF8 (like JSON's functions of the same name), but you can turn that off by passing utf8 => 0 in the options. The allow_nonref flag is also enabled for backwards compatibility with earlier versions of this module. It allows encoding/decoding of values that are not references.
utf8 => 0
JSON is imported with the -support_by_pp flag in order to support all options that JSON::PP provides when using JSON::XS as the backend. If you are concerned with speed, be careful what options you specify as it may cause the pure Perl backend to be used. Read "JSON::PP SUPPORT METHODS" in JSON for more information.
-support_by_pp
These functions are deprecated and provided for backwards compatibility. They wrap the appropriate function above, but "croak" in Carp if you try to set the singlequote option.
singlequote
Jifty is Copyright 2005-2010 Best Practical Solutions, LLC. Jifty is distributed under the same terms as Perl itself.
To install Jifty, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Jifty
CPAN shell
perl -MCPAN -e shell install Jifty
For more information on module installation, please visit the detailed CPAN module installation guide.