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
Mojo::JSON(3) User Contributed Perl Documentation Mojo::JSON(3)

Mojo::JSON - Minimalistic JSON

  use Mojo::JSON qw(decode_json encode_json);

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

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

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 character "/" will always be escaped to prevent XSS attacks.

  "</script>" -> "<\/script>"

For better performance the optional module Cpanel::JSON::XS (4.09+) will be used automatically if possible. This can also be disabled with the "MOJO_NO_JSON_XS" environment variable.

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

  my $value = decode_json $bytes;

Decode JSON to Perl value and die if decoding fails.

  my $bytes = encode_json {i => '♥ mojolicious'};

Encode Perl value to JSON.

  my $false = false;

False value, used because Perl has no native equivalent.

  my $value = from_json $chars;

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

  my $bytes = j [1, 2, 3];
  my $bytes = j {i => '♥ 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.

  my $chars = to_json {i => '♥ mojolicious'};

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

  my $true = true;

True value, used because Perl has no native equivalent.

Mojolicious, Mojolicious::Guides, <https://mojolicious.org>.
2022-01-14 perl v5.32.1

Search for    or go to Top of page |  Section 3 |  Main Index

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