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 <TEAM@cpan.org>
LICENSE
Copyright Tom Molesworth 2017. Licensed under the same terms as Perl itself.