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

基于null值执行字段重命名移除的JOLT转换方案咨询

JOLT转换配置方案

以下配置可完全覆盖提出的3条转换规则,基于JOLT的shift条件判断实现null值分支逻辑:

  • 核心逻辑:优先取after字段作为final字段的值,仅当after为null时取before字段的值,同时自动移除原始的before/after字段,其余字段完整保留
  • 兼容所有场景:after为null、before为null、两个字段都不为null

完整JOLT Spec

[
  {
    "operation": "shift",
    "spec": {
      "*": {
        "payload": {
          // 透传不需要处理的固定字段
          "source": "[&2].payload.source",
          "op": "[&2].payload.op",
          "ts_ms": "[&2].payload.ts_ms",
          "transaction": "[&2].payload.transaction",
          // 处理after字段分支
          "after": {
            "$": {
              "null": null, // after为null时直接丢弃
              "*": {
                // after不为null时,将after值写入final字段
                "@(2,after)": "[&4].payload.final"
              }
            }
          },
          // 处理before字段分支:仅当after为null时才取before值
          "before": {
            "@(1,after)": {
              "null": {
                // after为null时,将before值写入final字段
                "@": "[&4].payload.final"
              }
            }
          }
        }
      }
    }
  }
]

转换效果说明

针对给出的输入样例(after为null的场景),按上述规则转换后输出结构为:

[
  {
    "payload": {
      "source": {
        "file": "delta.000002",
        "pos": 8362,
        "row": 0,
        "thread": null,
        "query": null
      },
      "op": "c",
      "ts_ms": 1654851760103,
      "transaction": null,
      "final": {
        "order_id": 3110445250,
        "data": "2022-06-10",
        "ora": "08:08:00",
        "test1": "2022-06-10T00:00:00.000Z",
        "test2": "2022-06-10T03:00:00.000Z"
      }
    }
  }
]

注:如果实际需求不需要重命名为final,仅需移除值为null的before/after字段、保留非null字段的原始名称(和给出的期望输出结构完全一致),只需要将上述spec中所有[&N].payload.final路径改为对应原字段名即可:after非null时路径改为[&4].payload.after,after为null时路径改为[&4].payload.before。


其他场景兼容

  • 输入before为null、after有值时:自动移除null的before字段,将after值写入final
  • 输入before和after都有值时:自动移除before字段,将after值写入final

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 16:24:29