我有一个返回JSON转储的命令,该转储不会保存到任何文件中。
我必须在不保存输出的情况下从JSON响应中解析特定字段。
如果我保存命令的输出,然后像这样使用jq
和grep
解析它,我就能实现:
platform json_dump platform_id >resp.json
jq . resp.json | grep elbName
但是,我不想将命令平台json_dump platform_id
的输出写入JSON转储到任何文件中。我想直接从命令中解析elbName
。
有办法吗?
答案 0 :(得分:2)
只需将程序的输出通过管道传输到jq:
platform json_dump platform_id | jq .elbName
或其他。
PS:使用jq获得所需的值,而不是grep。这样做的示例。:
$ echo '{"elbName":"foo"}' | jq .elbName
"foo"
答案 1 :(得分:0)
您可以尝试使用其他管道将结果传递给jq命令
platform json_dump platform_id | jq .| grep elbName
答案 2 :(得分:0)
我假设您有python:)
platform json_dump platform_id | python -c 'import sys,json; print(json.load(sys.stdin)["elbName"])' # a bit long ? :)