Flex Gateway新着情報
Governance新着情報
Monitoring API ManagerDataWeave では、JSON (application/json)、XML (application/xml)、(application/csv) などのデータ形式の設定プロパティが提供されます。このプロパティでこれらの形式の DataWeave リーダーおよびライターの動作を変更します。たとえば、CSV リーダーのデフォルトの区切り文字はカンマ (,) です。この形式の separator プロパティを使用して、CSV コンテンツの別の区切り文字を指定できます。
さまざまなデータ形式で使用可能なリーダーとライターのプロパティについての詳細は、「サポートされるデータ形式」を参照してください。
開始する前に、Mule 4 アプリケーションでは DataWeave のバージョン 2.x が使用されることに注意してください。Mule 3 アプリケーションでの DataWeave については、DataWeave バージョン 1.2 の例を参照してください。 他の DataWeave バージョンの場合は、DataWeave の目次のバージョンセレクターを使用できます。
次の例は、ライタープロパティを DataWeave output ディレクティブに追加する方法を示しています。このスクリプトでは、indent = false を使用して JSON 出力を 1 行に圧縮します。
%dw 2.0
output application/json indent = false
---
{
	hello : "world",
	bello : "world",
	mello : "world"
}
{"hello": "world","bello": "world","mello": "world"}
次の例でも、ライター設定プロパティを output ディレクティブに追加しています。
schemaUrl を使用する Avro の例
header=true を使用する Excel (XLSX) の例
schemaPath を設定するフラットファイルの例
inlineCloseOn="empty" を使用して空の XML 要素を閉じる XML の例
DataWeave の read、readUrl、および write 関数は、中括弧内の 1 つ以上のカンマ区切りプロパティ設定を受け入れます。
次のスクリプトのヘッダーの myVar の値は、空の子要素 (<ex1></ex1>) を含む XML サンプルを入力する read 関数です。この関数は、空の要素の値を null に変換する XML リーダープロパティ {nullValueOn: "empty"} を渡します。
スクリプトの本文の write 関数は myVar の値を入力として受け入れます。この関数では、JSON ライタープロパティを {skipNullOn:"objects", writeAttributes:true} に渡して、null 値 (<ex1>null</ex1>) を含むオブジェクトをスキップし、属性と <ex3 a='greeting'>hello</ex3> の値を書き込みます。
%dw 2.0
var myVar = read("<greeting><ex1></ex1><ex2>hello</ex2><ex3 a='greeting'>hello</ex3></greeting>", "application/xml", {nullValueOn: "empty"})
output application/json with binary
---
write(myVar.greeting, "application/json", {skipNullOn:"objects", writeAttributes:true})
{
  "ex2": "hello",
  "ex3": {
    "@a": "greeting",
    "__text": "hello"
  }
}
リーダープロパティを readUrl に渡す例を次に示します。