Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこれらのシンプルな DataWeave の例では XML 入力を JSON 出力に正常に変更します。通常、複雑な変換では map
または mapObject
関数を使用する必要があります。
開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、DataWeave バージョン 1.2 の例を参照してください。
他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。
次の DataWeave スクリプトは、出力項目の名前 (またはキー) を入力項目の値にマップします。入力項目は、関数を含まないセレクター式で指定します。このスクリプトでは、一部の項目の順序や名前も変更します。
%dw 2.0
output application/json
---
{
address1: payload.order.buyer.address,
city: payload.order.buyer.city,
country: payload.order.buyer.nationality,
email: payload.order.buyer.email,
name: payload.order.buyer.name,
postalCode: payload.order.buyer.postCode,
stateOrProvince: payload.order.buyer.state
}
<?xml version='1.0' encoding='UTF-8'?>
<order>
<product>
<price>5</price>
<model>MuleSoft Connect 2016</model>
</product>
<item_amount>3</item_amount>
<payment>
<payment-type>credit-card</payment-type>
<currency>USD</currency>
<installments>1</installments>
</payment>
<buyer>
<email>mike@hotmail.com</email>
<name>Michael</name>
<address>Koala Boulevard 314</address>
<city>San Diego</city>
<state>CA</state>
<postCode>1345</postCode>
<nationality>USA</nationality>
</buyer>
<shop>main branch</shop>
<salesperson>Mathew Chow</salesperson>
</order>
{
"address1": "Koala Boulevard 314",
"city": "San Diego",
"country": "USA",
"email": "mike@hotmail.com",
"name": "Michael",
"postalCode": "1345",
"stateOrProvince": "CA"
}
次の例では、DataWeave スクリプトで同じキーの複数の XML ノードが含まれる XML を有効な JSON に変換し、同じキーの JSON ノードを作成するのではなく配列を作成します。
%dw 2.0
output application/json duplicateKeyAsArray=true
---
payload
<order>
<product-lineitems>
<product-lineitem>
<net-price>100.0</net-price>
</product-lineitem>
<product-lineitem>
<net-price>498.00</net-price>
</product-lineitem>
</product-lineitems>
</order>
{
"order": {
"product-lineitems": {
"product-lineitem": [
{
"net-price": "100.0"
},
{
"net-price": "498.00"
}
]
}
}
}