是否可以在 Jolt 中连接来自两个不同对象的值

时间:2021-01-29 17:18:28

标签: concatenation jolt

我想知道是否可以在 Jolt 中连接来自不同对象的值。我已经成功地将“orderInformation”对象中的“orderType”(值=ABC)和“minorCode”(值0003)连接起来,创建了一个“Job.JobTypeCd”(值ABC0003)的输出键。我想将“serviceType”值添加为该新键的前缀,因此输出值为“123ABC0003”。

示例输入

{
  "orderInformation": {
    "orderType": "ABC",
    "minorCode": "0003"
  },
  "account": {
    "serviceType": "123"
  }
}

当前规格

[
  {
    "operation": "modify-default-beta",
    "spec": {
      "orderInformation": {
        "JobType": "=concat(@(1,orderType),@(1,minorCode))"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "orderInformation": {
        "JobType": "Job.JobTypeCd"
      },
      "account": {
        "serviceType": "Job.AddThisAsPrefix2JobTypeCd"
      }
    }
      }
]

电流输出

{
  "Job" : {
    "JobTypeCd" : "ABC0003",
    "AddThisAsPrefix2JobTypeCd" : "123"
  }
}

期望的输出

{
  "Job" : {
    "JobTypeCd" : "123ABC0003"
  }
}

1 个答案:

答案 0 :(得分:0)

您可以将 serviceType 值包含到与下面相同的 concat 操作中。

"JobType": "=concat(@(2,account.serviceType),@(1,orderType),@(1,minorCode))"

完整规格

[
  {
    "operation": "modify-default-beta",
    "spec": {
      "orderInformation": {
        "JobType": "=concat(@(2,account.serviceType),@(1,orderType),@(1,minorCode))"
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "orderInformation": {
        "JobType": "Job.JobTypeCd"
      }
    }
   }
]