Tired of looking at JSON objects that contain long arrays? Fear no more!
Project description
Describe JSON
Tired of looking at JSON objects that contain long arrays? Fear no more! describe_json basically displays your JSON, replacing any arrays with a dictionary that just describes the array.
Free software: MIT license
Documentation: https://describe-json.readthedocs.io.
Installation
$ pip install describe_json
Features
This library does 2 things
Shortens strings. It also displays their length and a md5 hash, so you can know whether multiple strings are equal
Displays the length of arrays, and only 1 element, as an example. If arrays have differing elements, too bad, it only displays one element, so you’ll never know what the others look like. You can use the -r flag, to get a random array element though.
Usage
First of all, the tool plays really nicely with jq. Use jq to format the output of describe_json
$ describe_json '{"my": ["json", "object"]}'|jq . { "my": [ "length: 2; example:", "json" ] }
Basic piping
$ echo '{"a": [1, 2, 3, 4]}' | describe_json {"a": ["length: 4; example:", 1]}
Basic array shortening
$ describe_json '{"a": [1, 2, 3, 4]}' {"a": ["length: 4; example:", 1]}
Do you have some super long strings?
$ describe_json '{"key": "suuuuuuuuuuuuuper long string"}' {"key": "suuuuuuuuu... len: 29, md5: b7d562a2bcec0a8a346b5f32c59f257f"}
…ok, in this case the output is longer than the string. But you’ll be happier when the string is 50K long
Use a .json file
$ cat example.json {"key1": ["a", "b", "c"]} $ describe_json -f example.json {"key1": ["length: 3; example:", "a"]}
Use a random array element
By default, the first element of an array is displayed. Use a random one?
$ describe_json -r {"key1": ["a", "b", "c"]} {"key1": ["length: 3; example:", "b"]}
Specify a maximum array length
By default, only one element is displayed from an array. Specify the maximum size of arrays, after which, they are displayed as shortened
$ describe_json -a 3 '{"key1": ["a", "b", "c"]}' {"key1": ["a", "b", "c"]}
Specify a maximum string length
By default, strings longer than 10 characters are truncated, and their md5 hash is shown (so you can see whether multiple strings that begin with the same characters are equal or not). Specify a maximum length for strings
$ describe_json -s 30 '{"key": "qwertyuiopasdfghjklzxcvbnm"} {"key": "qwertyuiopasdfghjklzxcvbnm"}
and that’s about it! :)
Testing it in development mode
There are only doctests for the moment. They will be ran as 1 unit test, but don’t worry, there are more than just 1 test.
$ python setup.py test
Credits
This package was created with Cookiecutter and the audreyr/cookiecutter-pypackage project template.
History
0.1.0 (2019-03-31)
First release on PyPI.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for describe_json-0.1.4-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 09bf44fb777b68188803571995271c4d618042acc73ec4dca7ea90971137f930 |
|
MD5 | 5078359e225ad7c408bceaee1845a60b |
|
BLAKE2b-256 | d7d2e05aa173364c52d4ec4ea2f2828b8e359de0cb2f2d01ca8e6d3be4502377 |