NAME
json2perl.pl : convert JSON data to a Perl variable (dump) which can be parsed or eval'ed by any Perl script.
VERSION
Version 0.09
SYNOPSIS
json2perl.pl -i "input.json" -o "output.pl" --no-escape-unicode --terse --no-indent
json2perl.pl -e < "input.json" > "output.pl"
# press CTRL-D when done typing JSON to STDIN
# input must be less than 4K long!
json2perl.pl
# Read input from clipboard or write output to clipboard
# Only in: Unix / Linux / OSX
# (must have already installed xclip or xsel or pbpaste (on OSX))
json2json.pl -e < $(xclip -o)
json2json.pl -e < $(pbaste)
# write the output to the clipboard for further pasting
json2json.pl -i input.json | xclip -i
# clicking mouse's middle-button will paste the result
USAGE
json2perl.pl
Options:
--i filename
: specify a filename which contains a JSON data structure.--I "string"
: specify a string which contains a JSON data structure.--o outputfilename
: specify the output filename to write the result to, which will be as a Perl variable, as a dump, which can be parsed or eval'ed from any Perl script.--escape-unicode
: it will escape all unicode characters, and convert them to something like "\u0386". This is the default option.--no-escape-unicode
: it will NOT escape unicode characters. Output will not contain "\u0386" or "\x{386}" but "α" (that's a greek alpha).--terse
/--no-terse
: Terse form of output (no $VAR1 for example). The second is the default option.--indent
/--no-indent
: do not use indentation. The first is the default option.
Input can be read from an input file (--i), from a string at the command line (--I) (properly quoted!), from STDIN (which also includes a file redirection json2perl.pl < inputfile.json > outputfile.perl
For more information see Data::Roundtrip.
CAVEATS
Under Unix/Linux, the maximum number of characters that can be read on a terminal is 4096. So, in reading-from-STDIN mode beware how much you type or how much you copy-paste onto the script. If it complains about malformed input then this is the case. The workaround is to type/paste onto a file and operate on that using --i afile
or redirection < afile
.
AUTHOR
Andreas Hadjiprocopis, <bliako at cpan.org> / <andreashad2 at gmail.com>