1CPANEL_JSON_XS(1) User Contributed Perl Documentation CPANEL_JSON_XS(1)
2
3
4
6 cpanel_json_xs - Cpanel::JSON::XS commandline utility
7
9 cpanel_json_xs [-v] [-f inputformat] [-t outputformat]
10
12 cpanel_json_xs converts between some input and output formats (one of
13 them is JSON).
14
15 The default input format is "json" and the default output format is
16 "json-pretty".
17
19 -v Be slightly more verbose.
20
21 -f fromformat
22 Read a file in the given format from STDIN.
23
24 "fromformat" can be one of:
25
26 json - a json text encoded, either utf-8, utf16-be/le, utf32-be/le
27 json-nonref - json according to RFC 7159
28 json-relaxed - json with all relaxed options
29 json-unknown - json with allow_unknown
30 storable - a Storable frozen value
31 storable-file - a Storable file (Storable has two incompatible
32 formats)
33 bencode - uses one of Net::BitTorrent::Protocol::BEP03::Bencode,
34 Bencode or the broken Convert::Bencode, if available (used by
35 torrent files, among others)
36 clzf - Compress::LZF format (requires that module to be installed)
37 eval - evaluate the given code as (non-utf-8) Perl, basically the
38 reverse of "-t dump"
39 yaml - loose YAML (requires YAML)
40 yaml-tiny - loose YAML (requires YAML::Tiny or CPAN::Meta::YAML)
41 yaml-xs - strict YAML 1.2 (requires YAML::XS)
42 yaml-syck - YAML (requires YAML::Syck)
43 cbor - CBOR (via CBOR::XS)
44 string - do not attempt to decode the file data
45 sereal - Sereal (via Sereal::Decoder)
46 none - nothing is read, creates an "undef" scalar - mainly useful
47 with "-e"
48 -t toformat
49 Write the file in the given format to STDOUT.
50
51 "toformat" can be one of:
52
53 json, json-utf-8 - json, utf-8 encoded
54 json-pretty - as above, but pretty-printed with sorted object keys
55 json-stringify - as json-pretty with allow_stringify
56 json-relaxed - as json-pretty, but with the additional options
57 ->allow_stringify->allow_blessed->convert_blessed->allow_unknown
58 ->allow_tags->stringify_infnan(1)
59
60 json-utf-16le, json-utf-16be - little endian/big endian utf-16
61 json-utf-32le, json-utf-32be - little endian/big endian utf-32
62 storable - a Storable frozen value in network format
63 storable-file - a Storable file in network format (Storable has two
64 incompatible formats)
65 bencode - uses one of Net::BitTorrent::Protocol::BEP03::Bencode,
66 Bencode or the broken Convert::Bencode, if available (used by
67 torrent files, among others)
68 clzf - Compress::LZF format
69 yaml - loose YAML (requires YAML)
70 yaml-tiny - loose YAML (requires YAML::Tiny or CPAN::Meta::YAML)
71 yaml-xs - strict YAML 1.2 (requires YAML::XS)
72 yaml-syck - YAML (requires YAML::Syck)
73 dump - Data::Dump
74 dumper - Data::Dumper
75 string - writes the data out as if it were a string
76 sereal - Sereal (via Sereal::Encoder)
77 none - nothing gets written, mainly useful together with "-e"
78 Note that Data::Dumper doesn't handle self-referential data
79 structures correctly - use "dump" instead.
80
81 -e code
82 Evaluate perl code after reading the data and before writing it out
83 again - can be used to filter, create or extract data. The data
84 that has been written is in $_, and whatever is in there is written
85 out afterwards.
86
88 cpanel_json_xs -t none <isitreally.json
89
90 "JSON Lint" - tries to parse the file isitreally.json as JSON - if it
91 is valid JSON, the command outputs nothing, otherwise it will print an
92 error message and exit with non-zero exit status.
93
94 <src.json cpanel_json_xs >pretty.json
95
96 Prettify the JSON file src.json to dst.json.
97
98 cpanel_json_xs -f storable-file <file
99
100 Read the serialized Storable file file and print a human-readable JSON
101 version of it to STDOUT.
102
103 cpanel_json_xs -f storable-file -t yaml <file
104
105 Same as above, but write YAML instead (not using JSON at all :)
106
107 cpanel_json_xs -f none -e '$_ = [1, 2, 3]'
108
109 Dump the perl array as UTF-8 encoded JSON text.
110
111 <torrentfile cpanel_json_xs -f bencode -e '$_ = join "\n", map @$_, @{$_->{"announce-list"}}' -t string
112
113 Print the tracker list inside a torrent file.
114
115 lwp-request http://cpantesters.perl.org/show/Cpanel-JSON-XS.json | cpanel_json_xs
116
117 Fetch the cpan-testers result summary "Cpanel::JSON::XS" and pretty-
118 print it.
119
120 cpanel_json_xs -f yaml-xs -t yaml-tiny <META.yml >MYMETA.yml
121 cpanel_json_xs -f yaml-tiny -t yaml-xs <MYMETA.yml >XSMETA.yml
122 cpanel_json_xs -f yaml -t yaml <XSMETA.yml #BOOM!
123 Error: YAML_LOAD_ERR_BAD_MAP_ELEMENT
124
125 Compare YAML en- and decoders, and see that YAML::XS generates
126 unparsable YAML
127 <https://github.com/ingydotnet/yaml-libyaml-pm/issues/9>
128
130 Copyright (C) 2008 Marc Lehmann <json@schmorp.de> Copyright (C) 2016
131 Cpanel Inc
132
133
134
135perl v5.38.0 2023-07-20 CPANEL_JSON_XS(1)