Provided by: libcpanel-json-xs-perl_4.37-1_amd64 bug

NAME

       cpanel_json_xs - Cpanel::JSON::XS commandline utility

SYNOPSIS

          cpanel_json_xs [-v] [-f inputformat] [-t outputformat]

DESCRIPTION

       cpanel_json_xs converts between some input and output formats (one of them is JSON).

       The default input format is "json" and the default output format is "json-pretty".

OPTIONS

       -v  Be slightly more verbose.

       -f fromformat
           Read a file in the given format from STDIN.

           "fromformat" can be one of:

           json - a json text encoded, either utf-8, utf16-be/le, utf32-be/le
           json-nonref - json according to RFC 7159
           json-relaxed - json with all relaxed options
           json-unknown - json with allow_unknown
           storable - a Storable frozen value
           storable-file - a Storable file (Storable has two incompatible formats)
           bencode - uses one of Net::BitTorrent::Protocol::BEP03::Bencode, Bencode or the broken
           Convert::Bencode, if available (used by torrent files, among others)
           clzf - Compress::LZF format (requires that module to be installed)
           eval - evaluate the given code as (non-utf-8) Perl, basically the reverse of "-t dump"
           yaml - loose YAML (requires YAML)
           yaml-tiny - loose YAML (requires YAML::Tiny or CPAN::Meta::YAML)
           yaml-xs - strict YAML 1.2 (requires YAML::XS)
           yaml-syck - YAML (requires YAML::Syck)
           cbor - CBOR (via CBOR::XS)
           string - do not attempt to decode the file data
           sereal - Sereal (via Sereal::Decoder)
           none - nothing is read, creates an "undef" scalar - mainly useful with "-e"
       -t toformat
           Write the file in the given format to STDOUT.

           "toformat" can be one of:

           json, json-utf-8 - json, utf-8 encoded
           json-pretty - as above, but pretty-printed with sorted object keys
           json-stringify - as json-pretty with allow_stringify
           json-relaxed  - as json-pretty, but with the additional options
               ->allow_stringify->allow_blessed->convert_blessed->allow_unknown
               ->allow_tags->stringify_infnan(1)

           json-utf-16le, json-utf-16be - little endian/big endian utf-16
           json-utf-32le, json-utf-32be - little endian/big endian utf-32
           storable - a Storable frozen value in network format
           storable-file - a Storable file in network format (Storable has two incompatible
           formats)
           bencode - uses one of Net::BitTorrent::Protocol::BEP03::Bencode, Bencode or the broken
           Convert::Bencode, if available (used by torrent files, among others)
           clzf - Compress::LZF format
           yaml - loose YAML (requires YAML)
           yaml-tiny - loose YAML (requires YAML::Tiny or CPAN::Meta::YAML)
           yaml-xs - strict YAML 1.2 (requires YAML::XS)
           yaml-syck - YAML (requires YAML::Syck)
           dump - Data::Dump
           dumper - Data::Dumper
           string - writes the data out as if it were a string
           sereal - Sereal (via Sereal::Encoder)
           none - nothing gets written, mainly useful together with "-e"
               Note that Data::Dumper doesn't handle self-referential data structures correctly -
               use "dump" instead.

       -e code
           Evaluate perl code after reading the data and before writing it out again - can be
           used to filter, create or extract data. The data that has been written is in $_, and
           whatever is in there is written out afterwards.

EXAMPLES

          cpanel_json_xs -t none <isitreally.json

       "JSON Lint" - tries to parse the file isitreally.json as JSON - if it is valid JSON, the
       command outputs nothing, otherwise it will print an error message and exit with non-zero
       exit status.

          <src.json cpanel_json_xs >pretty.json

       Prettify the JSON file src.json to dst.json.

          cpanel_json_xs -f storable-file <file

       Read the serialized Storable file file and print a human-readable JSON version of it to
       STDOUT.

          cpanel_json_xs -f storable-file -t yaml <file

       Same as above, but write YAML instead (not using JSON at all :)

          cpanel_json_xs -f none -e '$_ = [1, 2, 3]'

       Dump the perl array as UTF-8 encoded JSON text.

          <torrentfile cpanel_json_xs -f bencode -e '$_ = join "\n", map @$_, @{$_->{"announce-list"}}' -t string

       Print the tracker list inside a torrent file.

          lwp-request http://cpantesters.perl.org/show/Cpanel-JSON-XS.json | cpanel_json_xs

       Fetch the cpan-testers result summary "Cpanel::JSON::XS" and pretty-print it.

           cpanel_json_xs -f yaml-xs -t yaml-tiny <META.yml   >MYMETA.yml
           cpanel_json_xs -f yaml-tiny -t yaml-xs <MYMETA.yml >XSMETA.yml
           cpanel_json_xs -f yaml -t yaml <XSMETA.yml #BOOM!
           Error: YAML_LOAD_ERR_BAD_MAP_ELEMENT

       Compare YAML en- and decoders, and see that YAML::XS generates unparsable YAML
       <https://github.com/ingydotnet/yaml-libyaml-pm/issues/9>

AUTHOR

       Copyright (C) 2008 Marc Lehmann <json@schmorp.de> Copyright (C) 2016 Cpanel Inc