存在する項目の出力

この DataWeave の例では、入力の JSON 配列に存在する項目を出力します。配列の最初のオブジェクトには ​"insurance"​ が含まれていますが、2 番目のオブジェクトには含まれていません。XML 出力には、この構造が反映されています。 開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、​DataWeave バージョン 1.2 の例​を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。

この例では、次の関数を使用します。

  • 入力配列内の各要素を調べる ​map​。

  • どのような場合に ​insurance​ 項目を出力するのかを決定する ​if($.insurance?)​。

DataWeave スクリプト:
%dw 2.0
output application/xml
---
users: { (payload map
        user: {
          name: $.name,
          (insurance: $.insurance) if($.insurance?)
        } )
}
入力 JSON ペイロード:
[
  {
    "name" : "Julian",
    "gender" : "Male",
    "age" : 41,
    "insurance": "Osde"
  },
  {
    "name" : "Mariano",
    "gender" : "Male",
    "age" : 33
  }
]
出力 XML:
<?xml version='1.0' encoding='US-ASCII'?>
<users>
  <user>
    <name>Julian</name>
    <insurance>Osde</insurance>
  </user>
  <user>
    <name>Mariano</name>
  </user>
</users>