厌倦了查看包含长数组的json对象吗?别再害怕了!

describe-json的Python项目详细描述


描述json

https://img.shields.io/pypi/v/describe_json.svghttps://img.shields.io/travis/vladiibine/describe_json.svgDocumentation Status

厌倦了查看包含长数组的json对象吗?别再害怕了! descripe_json基本上显示json,用一个只描述数组的字典替换任何数组。

安装

$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

学分

这个包是用Cookiecutteraudreyr/cookiecutter-pypackage项目模板创建的。

历史记录

0.1.0(2019-03-31)

  • pypi上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java PUT请求提供415不支持的媒体类型   JavaMockito:如何在不模拟所有参数的情况下轻松地存根一个方法   java如何将NameValuePair传递给安卓中的另一个活动?   servalet java中的tomcat错误   java Android手机无法连接到eclipse   nullpointerexception在Java中如何将null转换为false?   Java中的http代理身份验证   java如何确保最新版本的JAR与JNLP应用程序一起使用?   简单Java代码上的性能大内存占用   列出AWS EC2实例上运行的服务上的对象时,java 403访问被拒绝   java创建一个类,当创建一个新实例时,它会被添加到一个hasmap中   LookupService中的java getLocation方法返回null   java获取要在ListView中显示的ArrayList字符串编号/位置