8.3. 将源数据项映射到目标数据项
展开位于左侧的 Source 和 Target 面板中的所有项,并在 Mappings 面板的右侧展开。
从 Source 面板中拖动数据项,并将它放到 Target 面板中的对应数据项上。
例如,将
customerNum
数据项拖到 Source 面板中,并将其放到 Target 面板中的custId
数据项中。映射会出现在映射面板中,Source 和 Target data 项的详情都会出现在详情窗格中。
继续将源数据项拖放到对应的目标数据项,直到您完成所有基本映射。
在
初学者
示例中,要映射的其余数据项是:Source 目标 orderNum
orderId
status
priority
id
itemId
价格
cost
quantity
amount
注意您可以将集合(包含列表或集合的数据项)映射到非集合数据项,反之亦然,但不能将集合映射到其他集合。
在 Source 和 Target 面板上点 来快速确定所有数据项是否已映射。
Source 和 Target 面板中仅列出尚未映射的数据项。
在
初学者
示例中,剩余的未映射 目标 属性是approvalCode
和origin
。点 blueprint.xml 标签页返回路由的图形显示:
-
点 File
Save。
在创建转换测试后,您可以在转换文件上运行 JUnit 测试。详情请查看 第 8.4 节 “创建转换测试文件并运行 JUnit 测试”。此时,您将在 Console 视图中看到此输出:
对于源 XML 数据:
<?xml version="1.0" encoding="UTF-8"?> <ABCOrder xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:java="http://java.sun.com"> <header> <status>GOLD</status> <customer-num>ACME-123</customer-num> <order-num>ORDER1</order-num> </header> <order-items> <item id="PICKLE"> <price>2.25</price> <quantity>1000</quantity> </item> <item id="BANANA"> <price>1.25</price> <quantity>400</quantity> </item> </order-items> </ABCOrder>
对于目标 JSON 数据:
{"custId":"ACME-123","priority":"GOLD","orderId":"ORDER1","lineItems":[{"itemId":"PICKLE", "amount":1000,"cost":2.25},{"itemId":"BANANA","amount":400,"cost":1.25