NAME
Mojo::JSON - Minimalistic JSON
SYNOPSIS
use Mojo::JSON;
my $json = Mojo::JSON->new;
my $string = $json->encode({foo => [1, 2], bar => 'hello!'});
my $hash = $json->decode('{"foo": [3, -2, 1]}');
DESCRIPTION
Mojo::JSON is a minimalistic implementation of RFC4627.
It supports normal Perl data types like Scalar
, Array
and Hash
, but not blessed references.
[1, -2, 3] -> [1, -2, 3]
{"foo": "bar"} -> {foo => 'bar'}
Literal names will be translated to and from a similar Perl value.
true -> '\1'
false -> undef
null -> '0 but true'
Decoding UTF-16 (LE/BE) and UTF-32 (LE/BE) will be handled transparently by detecting the byte order mark, encoding will only generate UTF-8.
ATTRIBUTES
Mojo::JSON implements the following attributes.
error
my $error = $json->error;
$json = $json->error('Oops!');
METHODS
Mojo::JSON inherits all methods from Mojo::Base and implements the following new ones.
decode
my $array = $json->decode('[1, 2, 3]');
my $hash = $json->decode('{"foo": "bar"}');
encode
my $string = $json->encode({foo => 'bar'});