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

Jsonata新手求助:提取JSON对象id作为键的转换实现

JSONata 转换实现:提取id作为新对象键并保留value字段

输入JSON

{"key-1":[{"id":"a","value":2.3},{"id":"b","value":2.3}],"key-2":[{"id":"c","value":2.4},{"id":"d","value":2.5}]}

期望输出JSON

{"a":{"value":2.3},"b":{"value":2.3},"c":{"value":2.4},"d":{"value":2.5}}

实现的JSONata表达式

$merge($map($$, function($v) {
  $map($v, function($item) {
    { $item.id: { value: $item.value } }
  })
}))

逻辑拆解

  • $$ 指代整个输入对象,外层$map先遍历所有顶层键对应的数组值
  • 内层$map遍历每个数组里的子对象,为每个子对象生成一个以id为键、仅包含value字段的小对象
  • 最后用$merge把所有零散的小对象合并成一个完整的目标对象

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 09:55:05