jq 获取JSON数组最后一个元素(写法1:负下标 .[-1])

jq 获取JSON数组最后一个元素(写法1:负下标 .[-1])

  • 核心语法:`.[-1]`,负数下标代表从末尾倒数,`-1` 取数组最后一项
  • 简单测试
1
echo '[11,22,33,44]' | jq '.[-1]'
  • 读取文件,取顶层数组最后一条
1
jq '.[-1]' data.json
  • 嵌套数组示例:data字段为数组,取其最后一个元素
1
jq '.data[-1]' data.json
  • 原始输出(去除字符串双引号),取子字段
1
jq -r '.[-1].name' data.json
  • 边界提示

    • 空数组:返回 null,命令不会报错退出
    • 适用:标准JSON数组(`[]`包裹);**不适用于 jsonlines 每行单条JSON**

参考链接

https://www.doubao.com/thread/xEPDZlbAEFZsAnYI1

Licensed under CC BY-NC-SA 4.0