加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

shell – 终端:CURL |走到JsonPath | prettyprint JSON

发布时间:2020-12-15 22:56:02 所属栏目:安全 来源:网络整理
导读:我正在寻找在 shell上打印返回的 JSON文档的一部分的可能性. 现在,我正在将来自cURL的HTTP响应传递给python以进行相同的打印: curl -vX GET http://foo.bar | python -mjson.tool 但是现在我想知道我怎么能“走”到一个子阵列的路径? 例如,如果是返回的JSO
我正在寻找在 shell上打印返回的 JSON文档的一部分的可能性.

现在,我正在将来自cURL的HTTP响应传递给python以进行相同的打印:

curl -vX GET http://foo.bar | python -mjson.tool

但是现在我想知道我怎么能“走”到一个子阵列的路径?

例如,如果是返回的JSON数据:

{
"value1": true,"value2": {
            "subvalue1": "foo","subvalue2": "bar"
          }
}

我怎么才能在这个例子中打印子阵列?

解决方法

几个月前,特里·琼斯写了一个很好的工具.这是他关于 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"
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读