shell - 终端 : CURL | walk to JsonPath | prettyprint JSON

标签 shell json

我正在寻找在 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/

相关文章:

shell - (( COUNT++ )) -> "COUNT++: not found"在 shell 脚本中

shell - 这个论点是如何扩大的?

bash - 为什么我的 `find` 命令给出与忽略目录相关的错误?

ruby-on-rails - 你如何从 Ruby on Rails 输出 JSON?

java - 从android中的json get方法下载数据时设置进度条百分比

jquery - highcharts 通过 JSON 获取数据?

algorithm - 使用 shell 脚本编写算法简介是个好主意吗

linux - 如何在任意行号的文件中将/(插入字符串)添加到目录中的多个文件?

javascript - 如何从数据库中获取JSON数据?

javascript - 道场 : How to make PUT request on jsonRest store with callback method