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

求匹配total与current字段的Jolt转换规则

Jolt转换规则实现方案

需求概述

需实现以下JSON转换逻辑:

  • 当输入中data.aField.current与data.otherField.total数值相等时,输出{"status":"completed"}
  • 两字段数值不等时,输出{"status":"not completed"}
  • 若current或total任一字段缺失,输出{"status":"not found"}

Jolt Spec实现

[
  {
    "operation": "default",
    "spec": {
      "data": {
        "aField": {
          "current": "MISSING"
        },
        "otherField": {
          "total": "MISSING"
        }
      }
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "status": "=concat('not ', if(equals(@(1,data.aField.current),@(1,data.otherField.total)),'','not '), 'completed')",
      "status": "=if(or(equals(@(1,data.aField.current),'MISSING'),equals(@(1,data.otherField.total),'MISSING')),'not found',@(1,status))"
    }
  },
  {
    "operation": "remove",
    "spec": {
      "data": ""
    }
  }
]

示例验证

场景1:字段数值匹配

输入JSON:

{
  "data": {
    "aField": {
      "current": 5
    },
    "otherField": {
      "total": 5
    }
  }
}

输出JSON:

{
  "status": "completed"
}

场景2:字段数值不匹配

输入JSON:

{
  "data": {
    "aField": {
      "current": 4
    },
    "otherField": {
      "total": 5
    }
  }
}

输出JSON:

{
  "status": "not completed"
}

场景3:字段缺失(示例为缺失current字段)

输入JSON:

{
  "data": {
    "otherField": {
      "total": 5
    }
  }
}

输出JSON:

{
  "status": "not found"
}

逻辑说明

  1. default操作:给可能缺失的current和total字段设置默认值MISSING,用于后续判断字段是否存在
  2. modify-overwrite-beta操作:
    • 先通过equals判断两字段数值是否相等,拼接出对应的status值
    • 再判断是否有字段为默认的MISSING,如果有则将status设为not found
  3. remove操作:移除输入中的data节点,只保留最终的status结果

内容的提问来源于stack exchange,提问作者Guzman Navarro Chacon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 11:34:52