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

JOLT映射中userEmailId字段未在输出中生成的问题

JOLT转换中WG_REQUESTOR_EMAIL字段丢失的修复方案

问题根源

  1. 第二个Shift操作过滤了items路径:原转换的第二个shift操作仅明确保留了integrationEntityHeader、poDetails下的externalId、status、poHeader字段,完全未处理items层级,导致第一个shift中生成的items数据被直接丢弃。
  2. 第一个Shift中items映射未关联行数据:原第一个shift里,WG_REQUESTOR_EMAIL的映射是独立的,但PO行数据(PO_POD_LN_EVW1)的处理在同级的*下,需要确保请求者邮箱的结构完整,同时和PO行数据的处理逻辑清晰分隔。

修复后的JOLT转换规则

[
  {
    "operation": "shift",
    "spec": {
      "#UPSERT": "integration-inbound:IntegrationDetails.integrationEntities.integrationEntity.integrationEntityHeader.action",
      "*": {
        "*": {
          "*": {
            "*": {
              "PO_ID": "integration-inbound:IntegrationDetails.integrationEntities.integrationEntity.integrationEntityDetails.poDetails.externalId",
              "#APPROVED": "integration-inbound:IntegrationDetails.integrationEntities.integrationEntity.integrationEntityDetails.poDetails.status",
              "PO_AMT_TTL": "integration-inbound:IntegrationDetails.integrationEntities.integrationEntity.integrationEntityDetails.poDetails.poHeader.grossTotalAmount",
              "WG_REQUESTOR_EMAIL": "integration-inbound:IntegrationDetails.integrationEntities.integrationEntity.integrationEntityDetails.poDetails.items.item.requesterDetails.userEmailId",
              "PO_POD_LN_EVW1": {
                "WG_REQ_ID": "integration-inbound:IntegrationDetails.integrationEntities.integrationEntity.integrationEntityDetails.poDetails.poHeader.poDescription",
                "#STANDARD": "integration-inbound:IntegrationDetails.integrationEntities.integrationEntity.integrationEntityDetails.poDetails.poHeader.poType",
                "PO_POD_SHP_EVW1": {
                  "FREIGHT_TERMS": "integration-inbound:IntegrationDetails.integrationEntities.integrationEntity.integrationEntityDetails.poDetails.poHeader.deliveryTermCode"
                }
              }
            }
          }
        }
      }
    }
  },
  {
    "operation": "shift",
    "spec": {
      "*": {
        "*": {
          "*": {
            "integrationEntityHeader": "&3.&2.&1.&",
            "integrationEntityDetails": {
              "*": {
                "externalId": "&5.&4.&3.&2.&1.&",
                "status": "&5.&4.&3.&2.&1.&",
                "poHeader": "&5.&4.&3.&2.&1.&",
                "items": "&5.&4.&3.&2.&1.&"
              }
            }
          }
        }
      }
    }
  },
  {
    "operation": "cardinality",
    "spec": {
      "*": {
        "*": {
          "*": {
            "*": {
              "*": {
                "status": "ONE",
                "poHeader": {
                  "*": "ONE"
                },
                "items": {
                  "item": {
                    "requesterDetails": {
                      "userEmailId": "ONE"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
]

修复后输出结果

{
  "integration-inbound:IntegrationDetails": {
    "integrationEntities": {
      "integrationEntity": {
        "integrationEntityHeader": {
          "action": "UPSERT"
        },
        "integrationEntityDetails": {
          "poDetails": {
            "externalId": 25052,
            "status": "APPROVED",
            "poHeader": {
              "poType": "STANDARD",
              "grossTotalAmount": 14.99,
              "poDescription": 25694,
              "deliveryTermCode": "FOBDEST"
            },
            "items": {
              "item": {
                "requesterDetails": {
                  "userEmailId": "ZacharyEngels@westfieldgrp.com"
                }
              }
            }
          }
        }
      }
    }
  }
}

关键修改点

  • 第二个Shift操作新增items保留规则:在integrationEntityDetails的处理中加入"items": "&5.&4.&3.&2.&1.&",确保items层级不会被过滤。
  • 明确PO行字段匹配:将原第一个shift中的*改为具体的PO_POD_LN_EVW1,避免不必要的字段匹配干扰。
  • Cardinality操作补充items字段的唯一性约束:确保userEmailId只保留一个值,符合输出结构要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 22:25:22