例えば、keyにハイフン(-
)が入っているとする。
test.json
{
"foo-bar": "valueA",
"hoge-fuga": "valueB"
}
そのままjqすると、エラーになる。
$ cat test.json | jq '.foo-bar'
jq: error: bar/0 is not defined at <top-level>, line 1:
.foo-bar
jq: 1 compile error
対処法
マニュアルによると、
キーを""
で囲めばフィルタできるようになる。
cat test.json | jq '."foo-bar"'
"valueA"
If the key contains special characters, you need to surround it with double quotes like this:
."foo-bar"
, or else.["foo-bar"]
.
参考
https://qiita.com/keigo1450/items/84e696f8be0761ed0e04
https://stedolan.github.io/jq/manual/