You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用jq查询JSON对象失败,无法获取observations数据

解决jq查询含特殊字符键名的问题

你的问题出在包含冒号的键名不能直接用点语法访问。0:0:0:0:0这种带特殊符号的键,jq会将冒号识别为语法错误,必须改用括号加引号的方式引用键名。

正确命令示例

1. 获取指定observation的第一个值

cat sample3.json | jq '.dataSets[0].series["0:0:0:0:0"].observations["0"][0]'

执行后会输出:1.4529

2. 获取所有observations的数值

如果想一次性提取所有观测值的第一个元素,可以用[]遍历所有observation条目:

cat sample3.json | jq '.dataSets[0].series["0:0:0:0:0"].observations[] | .[0]'

输出结果:

1.4529
1.4472
1.4591

3. 遍历所有series(若有多个series键)

如果你的JSON里series下有多个类似0:0:0:0:0的键,可以直接遍历所有series值,不用指定具体键名:

cat sample3.json | jq '.dataSets[0].series[].observations[] | .[0]'

关键注意点

  • 整个jq表达式要用单引号包裹,避免shell解析内部的双引号;
  • 所有包含特殊字符(冒号、空格、连字符等)的键名,都必须用["键名"]的方式访问。

内容的提问来源于stack exchange,提问作者Bryon

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 10:16:05