7.12. 关于集合和非集合之间的映射
在 data mapper Source 和 Target 面板中:
-
表示集合。如果集合包含一个原语类型,您可以直接从或映射到该集合。如果集合包含两个或多个不同的类型,则 data mapper 会显示集合的子字段,您可以映射到或与集合字段映射。
-
表示是一个复杂类型的可扩展容器。复杂的类型包含多个不同类型的字段。复杂类型中的字段可以是一个集合(如数组)的类型。您不能映射复杂的类型容器本身。您只能映射复杂类型中的字段。
要切换数据类型的显示,如 (COMPLEX)
, STRING
, INTEGER
,点
。
集合到非集合(多到一)映射
当您从集合字段映射到非集合字段时,数据映射程序会识别多个到一的映射。默认行为是,数据映射器会将 Concatenate 转换为源收集或源收集字段。默认分隔符是空格。例如,考虑这个源集合:
- 在第一个元素中,城市 字段的值是 波士顿。
- 在第二个元素中,city 字段的值是 Paris。
- 在第三个元素中,city 字段的值为 东京。
在执行过程中,data mapper 会用填充 target 字段
波兰部
您可以通过应用不同的转换来更改此默认行为。例如,要只映射到您选择的元素,可将 Item At 转换为源并指定索引。要映射源集合中第一个元素中的值,请为索引指定 0。
如果源集合包含您没有映射的字段,则这些字段仍可用于流程中的后续步骤。
非集合集合(一对多)映射
当您从非集合源字段映射到目标集合或位于集合元素中的 target 字段时,Data mapper 会识别一对多映射。默认行为是数据映射器使用空格作为分隔符,并将源值拆分为多个值,以此应用 Split 转换。在执行过程中,数据映射器会将每个拆分值插入到目标集合中自己的元素中。例如,如果 source 字段被分成 4 值,则 target 集合有 4 个元素。
例如,考虑一个非集合、cities
源字段,其中包含:
波兰部
您可以将这个源字段映射到目标集合,或映射到集合中的目标字段。在执行过程中,数据映射器会将 城市 字段的值分成空格分隔符。其结果是包含三个元素的集合。在第一个元素中,城市 字段的值是 波士顿
。在第二个元素中,city 字段的值是 Paris
。在第三个元素中,city 字段的值为 东京
。