Flex Gateway新着情報
Governance新着情報
Monitoring API Manager
DataWeave 2.2 は Mule 4.2 と互換性があり、Mule 4.2 にバンドルされています。 このバージョンの Mule は、拡張サポートが終了する 2023 年 5 月 2 日にその すべてのサポートが終了しました。 このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。 標準サポートが適用されている最新バージョンの Mule 4 にアップグレードすることをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。 |
この DataWeave の例では、対応する値の型に応じてオブジェクトのキーに変更を適用します。要素が配列の場合、キーは複数化されます。数値の場合、キャメルケースに設定されます。その他の場合、大文字になります。
開始する前に、DataWeave バージョン 2 (%dw 2.0
) は Mule 4 アプリケーションを対象とすることに注意してください。Mule 3 アプリケーションの場合、Mule 3.9 ドキュメントセットの DataWeave 1.0 (%dw 1.0
) の例を参照してください。他の Mule バージョンの場合は、目次の Mule Runtime バージョンセレクターを使用できます。
この例では、以下を使用します。
ペイロードの各要素を調べる mapObject
。
要素が特定の型かどうかをチェックする if
。
キャメルケース形式 (すべての単語が結合され、大文字を使用して区切りを表す) を文字列に適用する文字列ライブラリの camelize
。
大文字形式 (すべての単語が分離され、大文字で始まる) を文字列に適用する文字列ライブラリの capitalize
。
単数形の単語を複数形に変更する文字列ライブラリの pluralize
。
%dw 2.0
import * from dw::core::Strings
output application/json
---
payload mapObject ((elementValue, elementKey) -> {
(if (elementValue is Array)
pluralize(elementKey)
else if(elementValue is Number)
camelize(elementKey)
else capitalize(elementKey)) : elementValue
})
{
"VersionNo": 1.6,
"StoreOfOrigin": "SFO",
"Item":
[
{
"ID":"34546315801",
"DeliveryMethod":"AIR",
"Quantity":8
},
{
"ID":"56722087289",
"Boxes": 3,
"DeliveryMethod":"GROUND",
"Quantity":2
}
]
}
{
"versionNo": 1.6,
"Store Of Origin": "SFO",
"Items": [
{
"ID": "34546315801",
"DeliveryMethod": "AIR",
"Quantity": 8
},
{
"ID": "56722087289",
"Boxes": 3,
"DeliveryMethod": "GROUND",
"Quantity": 2
}
]
}