GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
CPANEL_JSON_XS(1) User Contributed Perl Documentation CPANEL_JSON_XS(1)

cpanel_json_xs - Cpanel::JSON::XS commandline utility

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

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".

-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.

   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>

Copyright (C) 2008 Marc Lehmann <json@schmorp.de> Copyright (C) 2016 Cpanel Inc
2020-10-27 perl v5.32.1

Search for    or go to Top of page |  Section 1 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.