厌倦了查看包含长数组的json对象吗?别再害怕了!
describe-json的Python项目详细描述
描述json
厌倦了查看包含长数组的json对象吗?别再害怕了! descripe_json基本上显示json,用一个只描述数组的字典替换任何数组。
- 自由软件:麻省理工学院许可证
- 文档:https://describe-json.readthedocs.io。
安装
$pip install描述json
功能
这个库有两个功能
- 缩短字符串。它还显示它们的长度和md5散列,因此您可以知道多个字符串是否相等
- 例如,显示数组的长度,并且仅显示1个元素。如果数组有不同的元素,太糟糕了,它只显示一个元素,所以您永远不会知道其他元素是什么样子。但是,您可以使用-r标志来获取随机数组元素。
使用量
首先,该工具与jq/cite>配合得非常好。使用jq格式化descripe\u json的输出
$ describe_json '{"my": ["json", "object"]}'|jq . { "my": [ "length: 2; example:", "json" ] }
输出JQ完整路径以供以后检查
如果您查看了json并找到了您要查找的数据, 但是,使用jq现在需要很多增量方法,比如 下面,您不妨让descripe_json帮助您完成这项工作。 它可以自动计算jq路径,因此您不必再向上滚动!
$ echo '{"a": {"b": [{"c": 1}]}}' | jq '.a' $ echo '{"a": {"b": [{"c": 1}]}}' | jq '.a.b' $ echo '{"a": {"b": [{"c": 1}]}}' | jq '.a.b[0]' $ echo '{"a": {"b": [{"c": 1}]}}' | jq '.a.b[0].c'
使用-j标志代替上述内容,您将看到所有dict键的完整路径
$ describe_json '{"a": {"b": [{"c": 1}]}}' -j {'.a': {'.a.b': [{'.a.b[0].c': 1}]}}
基本管道
$ echo '{"a": [1, 2, 3, 4]}' | describe_json
{"a": ["length: 4; example:", 1]}
基本阵列缩短
$ describe_json '{"a": [1, 2, 3, 4]}' {"a": ["length: 4; example:", 1]}
你有超长的弦吗?
$ describe_json '{"key": "suuuuuuuuuuuuuper long string"}' {"key": "suuuuuuuuu... len: 29, md5: b7d562a2bcec0a8a346b5f32c59f257f"}
…好的,在这种情况下,输出比字符串长。但当字符串长50k时,您会更高兴
使用.json文件
$ cat example.json {"key1": ["a", "b", "c"]} $ describe_json -f example.json {"key1": ["length: 3; example:", "a"]}
使用随机数组元素
默认情况下,将显示数组的第一个元素。随便用一个?
$ describe_json -r {"key1": ["a", "b", "c"]} {"key1": ["length: 3; example:", "b"]}
指定最大数组长度< /H4>
默认情况下,数组中只显示一个元素。指定数组的最大大小,之后,它们以缩短的
显示。$ describe_json -a 3 '{"key1": ["a", "b", "c"]}' {"key1": ["a", "b", "c"]}
指定最大字符串长度
默认情况下,长度超过10个字符的字符串将被截断,并显示它们的MD5哈希(这样您就可以看到以相同字符开头的多个字符串是否相等)。指定字符串
的最大长度$ describe_json -s 30 '{"key": "qwertyuiopasdfghjklzxcvbnm"} {"key": "qwertyuiopasdfghjklzxcvbnm"}
就这样!:)
在开发模式下测试它
目前只有医生。它们将作为一个单元测试运行,但别担心,有不止一个测试。
$ python setup.py test
学分
这个包是用Cookiecutter和audreyr/cookiecutter-pypackage项目模板创建的。
历史记录
0.1.0(2019-03-31)
- pypi上的第一个版本。