A set of tools to manipulate JSON: diff, patch, pretty-printing
Project description
Manipulate JSON documents using “JSON patch” format.
Installation
$ pip install json_tools
Release notes
Check the project’s Wiki
Usage
There are two ways of using json_tools:
As a CLI utilty.
As a Python module.
CLI interface
After you’ve installed json_tools you can access it via json command in the shell. It provides a pretty simple yet powerful interface to manipulate JSON documents:
print [input_file]
Pretty-print a JSON file with syntax highlighting and keys sorting.
If input_file is omitted or equals -, reads JSON from STDIN.
Example:
$ echo '{"Hello": ["w", "o", "r", "l", "d", "!"]}' | json print { "Hello": [ "w", "o", "r", "l", "d", "!" ] }
diff [file1] [file2]
Calculate difference between two JSON documents and output it in JSON patch format.
Either file1 or file2 can be set to -, in order to read JSON from STDIN.
Example:
$ json diff doc1.json doc2.json [ { "add": "/lol", "value": "wut" }, { "remove": "/some/field", "prev": { "compound": "value" } } ]
patch [options] input [patch [patch ...]]
Modify the JSON file input using a series of JSON patches.
If patch is omitted or equals -, its content is read from STDIN.
Options:
-i, --inplace
Modify source_file inplace instead of printing it to STDOUT.
Pythonic interface
TBD
Planned features
Support more JSON patch options: currently json_tools only supports add, remove and replace.
Make diff output more human readable (not JSONish).
Improve documentation.
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.