GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  MOJO::JSON (3)

.ds Aq ’

NAME

Mojo::JSON - Minimalistic JSON

CONTENTS

SYNOPSIS



  use Mojo::JSON qw(decode_json encode_json);

  my $bytes = encode_json {foo => [1, 2], bar => hello!, baz => \1};
  my $hash  = decode_json $bytes;



DESCRIPTION

Mojo::JSON is a minimalistic and possibly the fastest pure-Perl implementation of RFC 7159 <http://tools.ietf.org/html/rfc7159>.

It supports normal Perl data types like scalar, array reference, hash reference and will try to call the TO_JSON method on blessed references, or stringify them if it doesn’t exist. Differentiating between strings and numbers in Perl is hard, depending on how it has been used, a scalar can be both at the same time. The string value has a higher precedence unless both representations are equivalent.



  [1, -2, 3]     -> [1, -2, 3]
  {"foo": "bar"} -> {foo => bar}



Literal names will be translated to and from Mojo::JSON constants or a similar native Perl value.



  true  -> Mojo::JSON->true
  false -> Mojo::JSON->false
  null  -> undef



In addition scalar references will be used to generate booleans, based on if their values are true or false.



  \1 -> true
  \0 -> false



The two Unicode whitespace characters u2028 and u2029 will always be escaped to make JSONP easier, and the character / to prevent XSS attacks.



  "\x{2028}\x{2029}</script>" -> "\u2028\u2029<\/script>"



FUNCTIONS

Mojo::JSON implements the following functions, which can be imported individually.

    decode_json



  my $value = decode_json $bytes;



Decode JSON to Perl value and die if decoding fails.

    encode_json



  my $bytes = encode_json {i => X mojolicious};



Encode Perl value to JSON.

    false



  my $false = false;



False value, used because Perl has no native equivalent.

    from_json



  my $value = from_json $chars;



Decode JSON text that is not UTF-8 encoded to Perl value and die if decoding fails.

    j



  my $bytes = j [1, 2, 3];
  my $bytes = j {i => X mojolicious};
  my $value = j $bytes;



Encode Perl data structure (which may only be an array reference or hash reference) or decode JSON, an undef return value indicates a bare null or that decoding failed.

    to_json



  my $chars = to_json {i => X mojolicious};



Encode Perl value to JSON text without UTF-8 encoding it.

    true



  my $true = true;



True value, used because Perl has no native equivalent.

SEE ALSO

Mojolicious, Mojolicious::Guides, <http://mojolicious.org>.
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 MOJO::JSON (3) 2016-03-15

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.