我在JSON文件中有以下代码。
{
"comment": {
"vm-updates": [],
"site-ops-updates": [
{
"comment": {
"message": "You can start maintenance on this resource"
},
"hw-name": "Machine has got missing disks. "
}
]
},
"object_name": "4QXH862",
"has_problems": "yes",
"tags": ""
}
我想使用jq从此JSON文件中分离出“硬件名称”。我已经尝试了以下组合,但是没有用。
cat jsonfile | jq -r '.comment[].hw-name'
cat json_file.json | jq -r '.comment[].site-ops-updates[].hw-name'
StackOverflow的帮助!!
答案 0 :(得分:1)
应该是:
▶ cat jsonfile | jq -r '.comment."site-ops-updates"[]."hw-name"'
Machine has got missing disks.
或更妙的是:
▶ jq -r '.comment."site-ops-updates"[]."hw-name"' jsonfile
Machine has got missing disks.
来自docs:
如果键包含特殊字符,则需要用双引号将其括起来,例如:
."foo$"
,否则为.["foo$"]
。