I can get the 1st element in a json inside []

$ echo '[{"a":"x", "b":true}, {"a":"XML", "b":false}]' | jq '.[1]'
{
  "a": "XML",
  "b": false
}

但是,如果json已经被反汇编(例如,在使用"select"筛选条目之后),我如何 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

推荐答案

You can wrap the results from select in an array:

jq '[.[]|select(.a=="x")][0]' your.json

Output:

{
  "a": "x",
  "b": false
}

Json相关问答推荐

JOLT转换,将属性复制到同级别的dict中

嵌套自定义解组

Jolt Transformation—如果子对象为空,则将父对象更新为空

织女星-没有循环的动画条形图第二部分(实际上是织女星)

无法使用Jolt变换在嵌套的JSON中提取值

PowerShell:使用JSON原生的Short命令处理JSON?

在Jolt中将具有嵌套元素的对象数组转换为单独的对象列表

nlohmann json:为什么我会得到一个解析错误?

具有 (RegEx) 模式的 json-schema 中的枚举

从 Inno Setup 中的 JSON 文件的每个对象中读取特定字符串

如何 Select 一个值,这是可选的 - 使用 jq

Nifi - 忽略(或删除)JSON 的第一个数字

判断golang中解析的json响应中是否存在所需的json键(不是值)

如何在 Go 中生成带有排序键的 JSON?

如何将 LinkedHashMap 转换为自定义 java 对象?

使用 GSON 解析嵌套的 JSON 数据

在 Postgres 中向 JSON 对象添加元素

JSON.stringify 不会转义?

数据包含连续问号时无法理解的 jQuery $.ajax() 行为

JSON 和 BSON 哪个更轻量级?