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

如何通过Jolt实现非空firstName/lastName合并为displayName?

Jolt数据转换:动态生成displayName

核心逻辑

当firstName或lastName任一不为null时,将二者合并为displayName(仅拼接非空值,两个非空值之间用空格分隔);若两者均为null,则保留输入中的displayName原值,其余字段保持不变。

Jolt转换规范

[
  {
    "operation": "shift",
    "spec": {
      "*": "&", // 保留所有原始字段
      "firstName": "fn",
      "lastName": "ln"
    }
  },
  {
    "operation": "modify-overwrite-beta",
    "spec": {
      "displayName": [
        // 拼接非空的firstName和lastName,仅在两个值都非空时添加空格分隔
        "=concat(@(1,fn != null ? @(1,fn) : '', @(1,ln != null ? ( @(1,fn) != null ? ' ' : '' ) + @(1,ln) : ''))",
        // 若拼接结果为空(说明两个字段都为null),则保留原displayName值
        "=ifElse(@(1) == '', @(1,displayName), @(1))"
      ]
    }
  },
  {
    "operation": "remove",
    "spec": {
      "fn": "",
      "ln": "" // 清理临时变量
    }
  }
]

场景验证

场景1:firstName和lastName均非空

输入:

{
  "displayName": "Old Display Name",
  "Comments": "Sample comment",
  "firstName": "Jane",
  "lastName": "Smith"
}

输出:

{
  "displayName": "Jane Smith",
  "Comments": "Sample comment"
}

场景2:firstName为null,lastName非空

输入:

{
  "displayName": "Old Display Name",
  "Comments": "Sample comment",
  "firstName": null,
  "lastName": "Smith"
}

输出:

{
  "displayName": "Smith",
  "Comments": "Sample comment"
}

场景3:firstName和lastName均为null

输入:

{
  "displayName": "Original Name",
  "Comments": "Sample comment",
  "firstName": null,
  "lastName": null
}

输出:

{
  "displayName": "Original Name",
  "Comments": "Sample comment"
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 15:51:56