From 8e4ba906343718a4a1c2fbd939a9dbe0a75287f8 Mon Sep 17 00:00:00 2001 From: trizen Date: Sat, 15 Feb 2020 00:05:24 +0200 Subject: Import files. --- lib/WWW/StrawViewer/ParseJSON.pm | 76 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) create mode 100644 lib/WWW/StrawViewer/ParseJSON.pm (limited to 'lib/WWW/StrawViewer/ParseJSON.pm') diff --git a/lib/WWW/StrawViewer/ParseJSON.pm b/lib/WWW/StrawViewer/ParseJSON.pm new file mode 100644 index 0000000..e2e7d65 --- /dev/null +++ b/lib/WWW/StrawViewer/ParseJSON.pm @@ -0,0 +1,76 @@ +package WWW::StrawViewer::ParseJSON; + +use utf8; +use 5.014; +use warnings; + +=head1 NAME + +WWW::StrawViewer::ParseJSON - Parse JSON content. + +=head1 SYNOPSIS + + use WWW::StrawViewer::ParseJSON; + my $obj = WWW::StrawViewer::ParseJSON->new(%opts); + +=head1 SUBROUTINES/METHODS + +=cut + +=head2 parse_json_string($json_string) + +Parse a JSON string and return a HASH ref. + +=cut + +sub parse_json_string { + my ($self, $json) = @_; + + if (not defined($json) or $json eq '') { + return {}; + } + + require JSON; + my $hash = eval { JSON::decode_json($json) }; + return $@ ? do { warn "[JSON]: $@\n"; {} } : $hash; +} + +=head2 make_json_string($ref) + +Create a JSON string from a HASH or ARRAY ref. + +=cut + +sub make_json_string { + my ($self, $ref) = @_; + + require JSON; + my $str = eval { JSON::encode_json($ref) }; + return $@ ? do { warn "[JSON]: $@\n"; '' } : $str; +} + +=head1 AUTHOR + +Trizen, C<< >> + + +=head1 SUPPORT + +You can find documentation for this module with the perldoc command. + + perldoc WWW::StrawViewer::ParseJSON + + +=head1 LICENSE AND COPYRIGHT + +Copyright 2013-2015 Trizen. + +This program is free software; you can redistribute it and/or modify it +under the terms of either: the GNU General Public License as published +by the Free Software Foundation; or the Artistic License. + +See L for more information. + +=cut + +1; # End of WWW::StrawViewer::ParseJSON -- cgit v1.2.3