package MojoX::JSON::XS; use Mojo::Base 'Mojolicious::Plugin'; use strict; use Mojo::Util qw(monkey_patch); use JSON::XS; our $VERSION = "0.01"; sub register { monkey_patch "Mojo::JSON", encode => sub { return encode_json( $_[1] ); }; monkey_patch "Mojo::JSON", decode => sub { return decode_json( $_[1] ); }; monkey_patch "Mojo::JSON", j => sub { if(ref $_[0]) { return encode_json( $_[0] ); } else { return decode_json( $_[0] ); } }; } 1; =encoding utf8 =head1 NAME MojoX::JSON::XS - A JSON::XS backend replacement for Mojo::JSON =head1 SYNOPSIS sub startup { # ... $self->plugin('MojoX::JSON::XS'); # ... } =head1 DESCRIPTION Replaces Mojo::JSON methods encode, deocde and j with JSON::XS equivalient. This gives faster processing, and removes the unnecessary encode of '/' chars in strings. =head1 FEATURES It does not gracefully handle or skip blessed hashes =cut