DataWeave 関数の定義

DataWeave スクリプトのヘッダー内で fun 宣言を使用して、独自の DataWeave 関数を定義できます。たとえば、次の簡単な DataWeave 関数は、"HELLO" を出力する 1 つの文字列引数を受け入れます。

%dw 2.0
output application/json
fun toUpper(aString) = upper(aString)
---
toUpper("hello")

DataWeave 関数の引数には任意の DataWeave 式を使用できます。次の関数も "HELLO" を出力します。

%dw 2.0
output application/json
fun toUpper(aString) = upper(aString)
---
toUpper("h" ++ "el" ++ lower("LO") )

関数に渡された引数の種別をテストするには、組み込みの match 操作を使用してパターン一致を実行できます。

例: パターン一致を使用する例
%dw 2.0
output application/json
fun toUpper(aString)
= aString match {
  case is String -> upper(aString)
  else -> null
}
---
toUpper("h" ++ "el" ++ lower("LO") )

次の例では、数値文字列を共通の電話番号形式に再度書式設定する関数を作成します。

例: toPhoneFormat() 関数
%dw 2.0
output application/json
fun toPhoneFormat(str: String) =
    "(" ++ str[0 to 2] ++ ") " ++ str[3 to 5] ++ "-" ++ str[6 to 9]
---
toPhoneFormat("1234567890")
toPhoneFormat("1234567890") の出力
"(123) 456-7890"

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub