NAME¶
Jifty::JSON -- Wrapper around JSON
SYNOPSIS¶
use Jifty::JSON qw/decode_json encode_json/;
my $obj = decode_json(q! { "x": "1", "y": "2", "z": "3" } !);
my $json = encode_json($obj);
DESCRIPTION¶
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.
FUNCTIONS¶
decode_json JSON, [ARGUMENT HASHREF]¶
encode_json JSON, [ARGUMENT HASHREF]¶
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.
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.
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.
DEPRECATED FUNCTIONS¶
jsonToObj JSON, [ARGUMENTS]¶
objToJson JSON, [ARGUMENTS]¶
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.
LICENSE¶
Jifty is Copyright 2005-2010 Best Practical Solutions, LLC. Jifty is distributed
under the same terms as Perl itself.