这必须非常简单,但是手册页对我来说毫无意义。
curl example.com/json给我
{
"stats": {
"storage_server.disk_total": XXXXXXXXXX
},
"counters": {}
}
Run Code Online (Sandbox Code Playgroud)
我想提取XXXXXXXXXXdisk_total 的值。这样做的语法是什么?
jfs*_*jfs 10
要通过键获取深度嵌套的值:
$ jq '.. |."storage_server.disk_total"? | select(. != null)'
Run Code Online (Sandbox Code Playgroud)
..是零参数的快捷方式recurse——XPath//运算符的模拟。
.stats["storage_server.disk_total"]
Run Code Online (Sandbox Code Playgroud)
或者您的jq允许它:
.stats."storage_server.disk_total"
Run Code Online (Sandbox Code Playgroud)
这些都是以下各项的缩写:
.stats | .["storage_server.disk_total"]
Run Code Online (Sandbox Code Playgroud)
“storage_server.disk_total”中的点需要转义以防止它被解释为对象键分隔符。因此您可以使用:
jq '.stats."storage_server.disk_total"'
Run Code Online (Sandbox Code Playgroud)
假设这XXXXXXXXXX是您真实 JSON 中的有效 JSON 数字。
| 归档时间: |
|
| 查看次数: |
5870 次 |
| 最近记录: |