Flex Gateway新着情報
Governance新着情報
Monitoring API Manager2 つの値を連結します。
このバージョンの ++
は、2 つの配列の要素を連結して新しい配列にします。その他のバージョンは、DataWeave でサポートされる文字列、オブジェクト、およびさまざまな日付と時刻の形式で動作します。
2 つの配列に含まれる要素の型が異なる場合、作成される配列内には
Array<S>
(配列 <S>) に含まれるすべての S
型の要素の後に
Array<T>
(配列 <T>) に含まれるすべての T
型の要素が続きます。どちらの配列でも、複数の型の要素を混在させることができます。配列には、サポート対象であればどのデータ型でも含めることができます。
名前 | 説明 |
---|---|
|
取得元配列。 |
|
取得元配列に連結する配列。 |
次の例では、Array<Number>
を Array<String>
に連結します。結果は JSON オブジェクトの値として出力されます。
%dw 2.0
output application/json
---
{ "result" : [0, 1, 2] ++ ["a", "b", "c"] }
DataWeave
{ "result": [0, 1, 2, "a", "b", "c"] }
JSON
%dw 2.0
output application/json
---
{ "a" : [0, 1, true, "my string"] ++ [2, [3,4,5], {"a": 6}] }
DataWeave
{ "a": [0, 1, true, "my string", 2, [3, 4, 5], { "a": 6}] }
JSON
2 つの文字列の文字を連結します。
文字列は文字の配列として扱われるため、++
演算子は各文字列の文字を 1 文字の文字列からなる配列であるかのように連結します。
名前 | 説明 |
---|---|
|
取得元文字列。 |
|
取得元文字列に連結する文字列。 |
次の例では、2 つの文字列を連結します。ここでは、Mule
は Array<String> ["M", "u", "l", "e"]
として扱われます。結果の MuleSoft
は JSON オブジェクトの値として出力されます。
%dw 2.0
output application/json
---
{ "name" : "Mule" ++ "Soft" }
DataWeave
{ "name": "MuleSoft" }
JSON
2 つのオブジェクトを連結して、1 つのフラット化したオブジェクトを返します。
++
演算子は各オブジェクトからすべてのキー-値ペアを抽出し、
まとめて結合し、1 つのオブジェクトにします。
名前 | 説明 |
---|---|
|
取得元オブジェクト。 |
|
取得元オブジェクトに連結するオブジェクト。 |
次の例では、2 つのオブジェクトを連結し、XML に変換します。オブジェクトの配列 {aa: "a", bb: "b"}
は個別の XML 要素にフラット化されます。出力では、指定された JSON オブジェクトのキーが XML 要素として使用され、そのオブジェクトの値が XML 値として使用されます。
%dw 2.0
output application/xml
---
{ concat : {aa: "a", bb: "b"} ++ {cc: "c"} }
DataWeave
<?xml version="1.0" encoding="UTF-8"?>
<concat>
<aa>a</aa>
<bb>b</bb>
<cc>c</cc>
</concat>
XML
LocalTime
(ローカル時刻) を Date
(日付) に付加して LocalDateTime
(ローカル日時) 値を返します。
Date
(日付) および LocalTime
(ローカル時刻) インスタンスは、標準 Java 表記を
パイプ (|
) 記号で囲んで記述します。結果は、標準 Java 形式の
LocalDateTime
(ローカル日時) オブジェクトです。2 つのオブジェクトが連結される順序に
意味はないため、論理的には Date LocalTime` と
`LocalTime Date
の結果は同じになります。
名前 | 説明 |
---|---|
|
|
|
|
次の例では、Date
(日付) オブジェクトと LocalTime
(ローカル時刻) オブジェクトを
連結して、LocalDateTime
(ローカル日時) を返します。
%dw 2.0
output application/json
---
{ "LocalDateTime" : (|2017-10-01| ++ |23:57:59|) }
DataWeave
{ "LocalDateTime": "2017-10-01T23:57:59" }
JSON
LocalTime
(ローカル時刻) を Date
(日付) に付加して LocalDateTime
(ローカル日時) を返します。
2 つのオブジェクトが連結される順序に
意味はないため、論理的には LocalTime Date` と
`Date LocalTime
の結果は同じになります。
名前 | 説明 |
---|---|
|
|
|
|
次の例では、LocalTime
(ローカル時刻) オブジェクトと Date
(日付) オブジェクトを
連結して、LocalDateTime
(ローカル日時) を返します。
%dw 2.0
output application/json
---
{ "LocalDateTime" : (|23:57:59| ++ |2003-10-01|) }
DataWeave
{ "LocalDateTime": "2017-10-01T23:57:59" }
JSON
Date
(日付) をTime
(時刻) に付加して DateTime
(日時) を返します。
2 つのオブジェクトが連結される順序に意味はないため、
論理的には Date
(日付) + Time
(時刻) と Time
(時刻) + Date
(日付) の結果は同じになります。
名前 | 説明 |
---|---|
|
|
|
|
次の例では、Date
(ローカル時刻) オブジェクトと Time
(日付) オブジェクトを
連結して、DateTime
(ローカル日時) を返します。
%dw 2.0
output application/json
---
[ |2017-10-01| ++ |23:57:59-03:00|, |2017-10-01| ++ |23:57:59Z| ]
DataWeave
[ "2017-10-01T23:57:59-03:00", "2017-10-01T23:57:59Z" ]
JSON
Date
(日付) をTime
(時刻) オブジェクトに付加して DateTime
(日時) を返します。
2 つのオブジェクトが連結される順序に意味はないため、
論理的には Date
(日付) + Time
(時刻) と Time
(時刻) + Date
(日付) の結果は同じになります。
名前 | 説明 |
---|---|
|
|
|
|
次の例では、Date
(日付) を Time
(時刻) と連結して DateTime
(日時) を出力します。
入力はパイプ (|
) で囲まれています。
%dw 2.0
output application/json
---
|2018-11-30| ++ |23:57:59+01:00|
DataWeave
"2018-11-30T23:57:59+01:00"
JSON
次の例では、Time
(時刻) オブジェクトと Date
(日付) オブジェクトを
連結して、DateTime
(日時) オブジェクトを返します。最初の LocalTime
(ローカル時刻) オブジェクトは `Time
(時刻) に変更されています。
日付と時刻の入力の順序によって出力の DateTime
(日時) の順序が変わることはありません。
%dw 2.0
output application/json
---
{
"DateTime1" : (|23:57:59| as Time) ++ |2017-10-01|,
"DateTime2" : |23:57:59Z| ++ |2017-10-01|,
"DateTime3" : |2017-10-01| ++ |23:57:59+02:00|
}
DataWeave
{
"DateTime1": "2017-10-01T23:57:59Z",
"DateTime2": "2017-10-01T23:57:59Z",
"DateTime3": "2017-10-01T23:57:59+02:00"
}
JSON
TimeZone
(タイムゾーン) を Date
(日付) 型の値に付加して DateTime
(日時) の結果を返します。
名前 | 説明 |
---|---|
|
|
|
|
次の例では、Date
(日付) と TimeZone
(タイムゾーン) (-03:00
) を連結して、
DateTime
(日時) を返します。DateTime
(日時) のローカル時刻は 00:00:00
(深夜 0 時) です。
%dw 2.0
output application/json
---
{ "DateTime" : (|2017-10-01| ++ |-03:00|) }
DataWeave
{ "DateTime": "2017-10-01T00:00:00-03:00" }
JSON
Date
(日付) をTimeZone
(時刻) に付加して DateTime
(日時) を返します。
名前 | 説明 |
---|---|
|
|
|
|
次の例では、TimeZone
(タイムゾーン) (-03:00
) と Date
(日付) を連結して、
DateTime
(日時) を返します。DateTime
(日時) のローカル時刻は 00:00:00
(深夜 0 時) です。
%dw 2.0
output application/json
---
{ "DateTime" : |-03:00| ++ |2017-10-01| }
DataWeave
{ "DateTime": "2017-10-01T00:00:00-03:00" }
JSON
TimeZone
(日付) をLocalDateTime
(時刻) に付加して DateTime
(日時) を返します。
名前 | 説明 |
---|---|
|
|
|
|
次の例では、LocalDateTime
(日付) と TimeZone
(タイムゾーン) (-03:00
) を連結して、
DateTime
(日時) を返します。
%dw 2.0
output application/json
---
{ "DateTime" : (|2003-10-01T23:57:59| ++ |-03:00|) }
DataWeave
{ "DateTime": "2003-10-01T23:57:59-03:00 }
JSON
LocalDateTime
(日付) をTimeZone
(時刻) に付加して DateTime
(日時) を返します。
名前 | 説明 |
---|---|
|
|
|
|
次の例では、TimeZone
(タイムゾーン) (-03:00
) と LocalDateTime
(日付) を連結して、
DateTime
(日時) を返します。
%dw 2.0
output application/json
---
{ "TimeZone" : (|-03:00| ++ |2003-10-01T23:57:59|) }
DataWeave
{ "TimeZone": "2003-10-01T23:57:59-03:00" }
JSON
TimeZone
(日付) をLocalTime
(時刻) に付加して Time
(日時) を返します。
名前 | 説明 |
---|---|
|
|
|
|
次の例では、LocalTime
(日付) と TimeZone
(タイムゾーン) (-03:00
) を連結して、
Time
(日時) を返します。出力では、未指定の秒には :00
が返されています。
%dw 2.0
output application/json
---
{ "Time" : (|23:57| ++ |-03:00|) }
DataWeave
{ "Time": "23:57:00-03:00" }
JSON
LocalTime
(日付) をTimeZone
(時刻) に付加して Time
(日時) を返します。
名前 | 説明 |
---|---|
|
|
|
|
次の例では、TimeZone
(タイムゾーン) (-03:00
) と LocalTime
(日付) を連結して、
Time
(日時) を返します。出力では、未指定の秒には :00
が返されています。
%dw 2.0
output application/json
---
{ "Time" : (|-03:00| ++ |23:57|) }
DataWeave
{
"Time": "23:57:00-03:00"
}
JSON