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

基于mapId匹配从数组提取steps的Jolt转换实现咨询

Jolt实现匹配mapId提取steps的方案

当然可以用Jolt实现这个转换,核心思路是通过shift操作,匹配根节点mapId与mappings数组元素的mapId,提取对应steps的同时保留原有name和mapId字段。

输入数据

{
  "name": "New LMO",
  "mapId": "3100",
  "mappings": [
    {
      "mapId": "9002",
      "steps": [
        {
          "label": "0AA2",
          "order": 1
        }
      ]
    },
    {
      "mapId": "3100",
      "steps": [
        {
          "label": "0CA4",
          "order": 1
        },
        {
          "label": "0CA5",
          "order": 2
        }
      ]
    }
  ]
}

Jolt转换规范

[
  {
    "operation": "shift",
    "spec": {
      "name": "name",
      "mapId": "mapId",
      "mappings": {
        "*": {
          "mapId": {
            "@(3,mapId)": {
              "@(2,steps)": "steps"
            }
          }
        }
      }
    }
  }
]

输出结果

{
  "name": "New LMO",
  "mapId": "3100",
  "steps": [
    {
      "label": "0CA4",
      "order": 1
    },
    {
      "label": "0CA5",
      "order": 2
    }
  ]
}

关键逻辑说明

  • @(3,mapId):从当前mappings数组元素的mapId位置向上3层,获取根节点的mapId值,完成匹配判断。
  • @(2,steps):匹配成功后,从当前位置向上2层提取该元素的steps数组,映射到根节点的steps字段。
  • 原有name和mapId字段直接保留,无需额外处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 04:30:54