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

Jolt转换问题:仅两列非空时拼接,否则设默认值

解决Jolt JSON转换中PLMDepartment字段的条件生成问题

你的原始Jolt规范未实现预期逻辑的原因是:它直接拼接division_Code和department_Code,没有判断这两个字段是否为空字符串。当其中一个字段为空时,拼接结果会是另一个字段的值,而非要求的"Invalid"。

以下是修正后的Jolt规范,能够满足你的需求:

[
  {
    "operation": "modify-default-beta",
    "spec": {
      "*": {
        "PLMDepartment": "=if(and(notEmpty(@(1,division_Code)), notEmpty(@(1,department_Code))), concat(@(1,division_Code),@(1,department_Code)), 'Invalid')"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "PLMDepartment": "PLMDepartment"
      }
    }
  }
]

逻辑说明:

  1. modify-default-beta操作:
    • 使用if条件函数,结合and和notEmpty判断division_Code和department_Code是否均为非空字符串。
    • 若两个字段都非空,执行concat拼接操作生成PLMDepartment的值;否则将其设为"Invalid"。
  2. shift操作:
    • 提取每个数组元素中的PLMDepartment字段,将其映射到根层级,同时丢弃其他无关字段。

验证示例:

  • 输入1:两个字段均非空,输出"PLMDepartment": "FL3D4"
  • 输入2:division_Code为空,输出"PLMDepartment": "Invalid"
  • 输入3:department_Code为空,输出"PLMDepartment": "Invalid"

内容的提问来源于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.11 10:17:28