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

如何使用jq从指定JSON生成包含score与id的新JSON字符串

正确的jq写法方案

生成单个对象列表(每个命中结果对应一个{score, id}对象)

使用以下命令遍历每个Elasticsearch命中结果,逐个构造目标结构:

jq '.hits.hits[] | {score: ._score, id: ._id}'

生成包含所有结果的数组

如果需要将所有结果统一包裹在一个数组中,用方括号包裹遍历逻辑即可:

jq '[.hits.hits[] | {score: ._score, id: ._id}]'

错误原因说明

你之前的写法不符合jq语法规则——直接在对象或数组字面量中使用._hits.hits[]的展开语法是不被允许的。正确逻辑应该是先遍历每个hit元素,再针对单个元素构造目标对象。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 18:02:02