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

如何使用JMESPath获取嵌套列表中每个子列表的首个元素

解决方案

正确的JMESPath表达式为Records[*][0],直接替换原命令中的--query参数即可。

原写法错误原因

你之前使用的Records[][0]中,[]属于JMESPath的扁平化投影,会先把Records下的所有嵌套子列表展开为一维数组,再取第0位,因此只能拿到第一个元素。而[*]是列表通配符投影,仅遍历当前父列表的每一个子元素,不会主动扁平化嵌套结构,遍历每个子列表时取第0位就能得到预期结果。

完整命令示例

aws redshift-data get-statement-result \
  --id 0de36215-f1db-421f-8704-3242e1a03f21 \
  --query 'Records[*][0]'

如果需要更明确的函数式写法,也可以用map函数实现相同效果,对应表达式为map(&[0], Records),命令写法如下:

aws redshift-data get-statement-result \
  --id 0de36215-f1db-421f-8704-3242e1a03f21 \
  --query 'map(&[0], Records)'

以上两种写法基于你提供的输入数据,都会输出你期望的结果:

[
    {"stringValue": "rdsdb"},
    {"stringValue": "testuser"}
]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 04:27:03