DataWeave を使用したデータのマップ

DataWeave 2.1 は Mule 4.1 と互換性があります。 Mule 4.1 の標準サポートは 2020 年 11 月 2 日に終了しました。このバージョンの Mule は、拡張サポートが終了する 2022 年 11 月 2 日にその​​すべてのサポートが終了Leaving the Siteします。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

『標準サポートが適用されている最新バージョンの Mule 4 にアップグレード』​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

この DataWeave の例では、DataWeave ​map​ 関数を使用して、本の配列を反復処理し、それぞれで一連のタスクを実行します。

次の DataWeave 関数を使用します。

  • books​ 配列の各オブジェクトを調べる ​map​。

  • 価格データを Number (数値) 型に強制変換する ​as​。これにより、変換で各要素の正しい型が生成されます。

DataWeave
%dw 2.0
output application/json
---
items: payload.books map ((item, index) -> {
      category: "book",
      price: item.price as Number,
      id: index,
      properties: {
        title: item.title,
        author: item.author,
        year: item.year as Number
      }
   }
)
dataweave
入力 JSON
出力 JSON
本に複数の著者がいる場合、​item.author​ は 1 つの名前ではなく著者の配列全体に評価されます。

デフォルト値の使用

次の例では、上記と同じ変換を実行しますが、プロパティ「item」および「index」を明示的に定義しません。代わりに、それぞれのデフォルト名 (​$​ および ​$$​) でコールします。

DataWeave
%dw 2.0
output application/json
---
items: (payload.books map {
      category: "book",
      price: $.price as Number,
      id: $$,
      properties: {
        title: $.title,
        author: $.author,
        year: $.year as Number
      }
})
dataweave