json_xs (1) Linux Manual Page
json_xs – JSON::XS commandline utility
Synopsis
json_xs [-v] [-f inputformat] [-t outputformat]
Description
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
- cbor – CBOR (RFC 7049, CBOR::XS), a kind of binary JSON
- storable – a Storable frozen value
- storable-file – a Storable file (Storable has two incompatible formats)
- bencode – use 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 – YAML (avoid at all costs, requires the YAML module :)
- string – do not attempt to decode the file data
- none – nothing is read, creates an "undef" scalar – mainly useful with "-e"
- json – a json text encoded, either utf-8, utf16-be/le, utf32-be/le
- -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
- json-utf-16le, json-utf-16be – little endian/big endian utf-16
- json-utf-32le, json-utf-32be – little endian/big endian utf-32
- cbor – CBOR (RFC 7049, CBOR::XS), a kind of binary JSON
- storable – a Storable frozen value in network format
- storable-file – a Storable file in network format (Storable has two incompatible formats)
- bencode – use Convert::Bencode, if available (used by torrent files, among others)
- clzf – Compress::LZF format
- yaml – YAML
- dump – Data::Dump
- dumper – Data::Dumper
- string – writes the data out as if it were a string
- none – nothing gets written, mainly useful together with "-e"
- Note that Data::Dumper doesn’t handle self-referential data structures correctly – use “dump” instead.
- json, json-utf-8 – json, utf-8 encoded
- -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
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 json_xs >pretty.jsonPrettify the JSON file src.json to dst.json.
json_xs -f storable-file <fileRead the serialised Storable file file and print a human-readable JSON version of it to STDOUT.
json_xs -f storable-file -t yaml <fileSame as above, but write YAML instead (not using JSON at all :)
json_xs -f none -e ‘$_ = [1, 2, 3]’Dump the perl array as UTF-8 encoded JSON text.
<torrentfile json_xs -f bencode -e ‘$_ = join "\n", map @$_, @{$_->{"announce-list"}}’ -t stringPrint the tracker list inside a torrent file.
lwp-request http://cpantesters.perl.org/show/JSON-XS.json | json_xsFetch the cpan-testers result summary "JSON::XS" and pretty-print it.
