Command line utility for visualising JSON and YAML schemas as text trees
Project description
jtv
jtv is a command line utility which allows you to visualise JSON and YAML schemas as text trees. It may be used as a complement to jq
, to facilitate the interpretation of a JSON schema, prior to defining filters.
Installation
$ pip install --upgrade pip
$ pip install jtv
Usage
To show the help use jtv -h
Inconsistency handling
Arrays may contain objects with different schemas. By default, or using the option --mode distinct
will wrap all objects in a new object with the node key specifying a schema version. The appended ◎-schema-0
node does not exist in the JSON and is strictly used to differentiate between different object schemas.
$ echo '[{"0": {"00": [{"000": "", "001": true, "002": []}, {"NEW": {"A": 2}}]}, "1": {"10": []}}, {"A": {"r": []}}]' | jtv -j --mode distinct
To display all the nodes from each distinct object under a single object, use --mode union
.
$ echo '[{"0": {"00": [{"000": "", "001": true, "002": []}, {"NEW": {"A": 2}}]}, "1": {"10": []}}, {"A": {"r": []}}]' | jtv -j --mode union
To display only the schema of the first object use --mode first
.
$ echo '[{"0": {"00": [{"000": "", "001": true, "002": []}, {"NEW": {"A": 2}}]}, "1": {"10": []}}, {"A": {"r": []}}]' | jtv -j --mode first
To visualise JSON schemas, as above, use the -j
flag. To visualise YAML schema use the -y
flag.
$ cat .yml | jtv -y
Tests
Run tox
in the root project directory.
Development
Increment version:
bumpver update --minor
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.