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

适配有无futureAvailability嵌套数组的Dynamic Jolt Spec实现问询

兼容有无futureAvailability数组的Jolt转换方案

现有Jolt转换规则在输入包含futureAvailability嵌套数组时可正常生成预期输出,但当输入不含该数组时转换会失败,以下是兼容两种场景的实现方案:

输入示例

输入1(含futureAvailability数组)

{
  "time": "2023-02-21T14:24:34.966Z",
  "itemId": "G20864_270",
  "unitOfMeasure": "PIECE",
  "futureAvailability": [
    {
      "availableQuantity": 200,
      "ETA": "2023-03-01T00:00:00.000Z"
    },
    {
      "availableQuantity": 201,
      "ETA": "2023-03-01T00:00:00.000Z"
    }
  ]
}

输入2(不含futureAvailability数组)

{
  "time": "2023-02-22T09:13:52.168Z",
  "itemId": "G20824_510",
  "unitOfMeasure": "PIECE"
}

原Jolt规则(存在兼容性问题)

[
  {
    "operation": "shift",
    "spec": {
      "futureAvailability": {
        "*": {
          "@(2,time)": "[&1].time",
          "@(2,itemId)": "[&1].itemId",
          "@(2,unitOfMeasure)": "[&1].unitOfMeasure",
          "ETA": "[&1].ETA",
          "availableQuantity": "[&1].availableQuantity"
        }
      }
    }
  }
]

兼容版Jolt规则

通过default操作给futureAvailability字段设置默认空数组,确保无论输入是否包含该字段,后续的shift操作都能正常执行:

[
  {
    "operation": "default",
    "spec": {
      "futureAvailability": []
    }
  },
  {
    "operation": "shift",
    "spec": {
      "futureAvailability": {
        "*": {
          "@(2,time)": "[&1].time",
          "@(2,itemId)": "[&1].itemId",
          "@(2,unitOfMeasure)": "[&1].unitOfMeasure",
          "ETA": "[&1].ETA",
          "availableQuantity": "[&1].availableQuantity"
        }
      }
    }
  }
]

验证结果

输入1的输出(与预期一致)

[
  {
    "time": "2023-02-21T14:24:34.966Z",
    "itemId": "G20864_270",
    "unitOfMeasure": "PIECE",
    "ETA": "2023-03-01T00:00:00.000Z",
    "availableQuantity": 200
  },
  {
    "time": "2023-02-21T14:24:34.966Z",
    "itemId": "G20864_270",
    "unitOfMeasure": "PIECE",
    "ETA": "2023-03-01T00:00:00.000Z",
    "availableQuantity": 201
  }
]

输入2的输出(转换正常,输出空数组)

[]

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 20:42:32