存在する項目の出力

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

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

  • 入力配列内の各要素を調べる ​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>