Skip to content

astrocyte-medical/jtv

Repository files navigation

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

new_help

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

new_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

new_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

new_first

To visualise JSON schemas, as above, use the -j flag. To visualise YAML schema use the -y flag.

$ cat .yml | jtv -y

new_yaml

Tests

Run tox in the root project directory.

Development

Increment version:

bumpver update --minor

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published