我正在寻找在 shell 上打印返回的 JSON 文档的一部分的可能性。
现在,我正在将 HTTP 响应从 cURL 传输到 python 以进行 pretty-print :
curl -vX GET http://foo.bar | python -mjson.tool
但是现在我想知道我如何才能真正“走”到子阵列的路径?
例如,如果是返回的 JSON 数据:
{
"value1": true,
"value2": {
"subvalue1": "foo",
"subvalue2": "bar"
}
}
在这个例子中我怎么能只打印子数组?
最佳答案
几个月前,Terry Jones 编写了一个很好的工具来完成这项工作。这是他关于它的博客文章 http://blogs.fluidinfo.com/terry/2010/11/25/jsongrep-py-python-for-extracting-pieces-of-json-objects/ .
基本上,对于您的示例,您将运行
curl -vX GET http://foo.bar | jsongrep.py value2
顺便说一句,我认为您的示例实际上不是有效的 JSON。子数组(实际上是 JSON 术语中的子对象)应该是
{
"subvalue1": "foo",
"subvalue2": "bar"
}
关于shell - 终端 : CURL | walk to JsonPath | prettyprint JSON,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5693864/