小编Dem*_*ait的帖子

获取jq json解析中的第一个(或第n个)元素

我可以在[]内的json中获取第一个元素

$ echo '[{"a":"x", "b":true}, {"a":"XML", "b":false}]' | jq '.[1]'
{
  "a": "XML",
  "b": false
}
Run Code Online (Sandbox Code Playgroud)

但是如果json已经被反汇编(例如,在使用'select'过滤条目后),我如何选择单个条目并避免此处出现的错误?

$ echo '[{"a":"x", "b":true}, {"a":"x", "b":false},{"a":"XML", "b":false}]' | jq '.[] | select( .a == "x")'
{
  "a": "x",
  "b": true
}
{
  "a": "x",
  "b": false
}
$ echo '[{"a":"x", "b":true}, {"a":"x", "b":false},{"a":"XML", "b":false}]' | jq '.[] | select( .a == "x") | .[1]'
jq: error (at <stdin>:1): Cannot index object with number
Run Code Online (Sandbox Code Playgroud)

json jq

26
推荐指数
4
解决办法
3万
查看次数

标签 统计

jq ×1

json ×1