NAME

   JSON::MaybeUTF8 - provide explicit text/UTF-8 JSON functions

SYNOPSIS

    use JSON::MaybeUTF8 qw(:v1);
    binmode STDOUT, ':encoding(UTF-8)';
    binmode STDERR, ':raw';
    (*STDOUT)->print(encode_json_text({ text => '...' }));
    (*STDERR)->print(encode_json_utf8({ text => '...' }));

DESCRIPTION

   Combines JSON::MaybeXS with Unicode::UTF8 to provide 4 functions that
   handle the combinations of JSON and UTF-8 encoding/decoding.

   The idea is to make the UTF-8-or-not behaviour more explicit in code
   that deals with multiple transport layers such as database, cache and
   I/O.

   This is a trivial wrapper around two other modules.

decode_json_utf8

   Given a UTF-8-encoded JSON byte string, returns a Perl data structure.

encode_json_utf8

   Given a Perl data structure, returns a UTF-8-encoded JSON byte string.

decode_json_text

   Given a JSON string composed of Unicode characters (in Perl's internal
   encoding), returns a Perl data structure.

encode_json_text

   Given a Perl data structure, returns a JSON string composed of Unicode
   characters (in Perl's internal encoding).

AUTHOR

   Tom Molesworth <[email protected]>

LICENSE

   Copyright Tom Molesworth 2017. Licensed under the same terms as Perl
   itself.