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

求实现1减去数组元素的Jolt转换规格(Spec)

求实现1减去数组元素的Jolt转换规格(Spec)

嘿,针对你这个需求,我整理了一个合适的Jolt转换规格,刚好能实现把指定数组的每个元素用1去减,同时保留其他字段不变的效果,而且完全适配数组元素数量变化的场景!

先直接上可用的Jolt Spec:

[
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "value1": {
        "*": "=minus(1,@(1))"
      },
      "value2": {
        "*": "=minus(1,@(1))"
      },
      "value3": {
        "*": "=minus(1,@(1))"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": "&"
    }
  }
]

给你详细解释下这个规格的逻辑:

  • modify-overwrite-beta操作:这一步是核心的计算环节。value1/value2/value3下的*是通配符,会匹配数组里的每一个元素;=minus(1,@(1))就是执行1 - 当前元素值的计算,@(1)指代当前被匹配到的数组元素值,计算后会覆盖原来的元素值。
  • shift操作:这一步是为了确保所有其他字段(比如id、name、otherField)都能原封不动地保留到输出结果里,*匹配所有字段,&表示将字段名和对应的值原样映射过去。

这个方案的优势就是不管你的数组里有几个元素,通配符*都会逐个处理,完全不用关心元素数量的变化~你可以把这个Spec放到Jolt的测试工具里验证一下效果哦!

备注:内容来源于stack exchange,提问作者Vyshnavi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 08:24:50