Flex Gateway新着情報
Governance新着情報
Monitoring API Manager入力の要素を、その入力の選択された要素で動作する条件を使用して並び替えます。
このバージョンの orderBy
は、入力としてオブジェクトを使用します。その他のバージョンは、入力配列で動作するか、null
値を処理します。
インデックスは匿名パラメーター $$
、値は $
で参照できます。
名前 | 説明 |
---|---|
|
並び替えるオブジェクト。 |
|
関数の結果は、オブジェクトを並び替える条件として使用されます。 |
次の例では、入力配列内の各オブジェクトの値をアルファベット順に並べます。orderBy($.letter)
は orderBy($[0])
と同じ結果になります。
%dw 2.0
output application/json
---
{ letter: "b", letter: "c", letter: "a" } orderBy ((value, key) -> value)
DataWeave
{
"letter": "a",
"letter": "b",
"letter": "c"
}
JSON
指定された条件を使用して配列を並び替えます。
名前 | 説明 |
---|---|
|
並び替える配列。 |
|
関数の結果は、配列を並び替える条件として機能します。単純な値 ( |
次の例では、数値に基づいて数値の配列を並び替えます。
%dw 2.0
output application/json
---
[3,2,3] orderBy $
DataWeave
[ 2, 3, 3 ]
JSON
orderBy
関数には、昇順ではなく降順で並び替えるオプションはありません。この場合は、たとえば -
を使用して、結果の配列の順序を単に反転することができます。
%dw 2.0
output application/json
---
orderDescending: ([3,8,1] orderBy -$)
DataWeave
{ "orderDescending": [8,3,1] }
JSON
次の例では、age (年齢) に基づいて人の配列を並び替えます。
%dw 2.0
output application/json
---
[{name: "Santiago", age: 42},{name: "Leandro", age: 29}, {name: "Mariano", age: 35}] orderBy (person) -> person.age
DataWeave
[
{
name: "Leandro",
age: 29
},
{
name: "Mariano",
age: 35
},
{
name: "Santiago",
age: 42
}
]
JSON
次の例では、DateTime の配列を降順に並び替えます。
%dw 2.0
output application/json
---
[|2020-10-01T23:57:59.017Z|, |2022-12-22T12:12:12.011Z|, |2020-10-01T12:40:10.012Z|, |2020-10-01T23:57:59.021Z|]
orderBy -($ as Number {unit: "milliseconds"})
DataWeave
[
"2022-12-22T12:12:12.011Z",
"2020-10-01T23:57:59.021Z",
"2020-10-01T23:57:59.017Z",
"2020-10-01T12:40:10.012Z"
]
JSON
この例は、JSON 配列内のオブジェクトの順序を変更します。この式は、最初に Type
キーの値をアルファベット順に並び替えてから、[-1 to 0]
に基づいて順序を逆にします。
%dw 2.0
var myInput = [
{
"AccountNumber": "987999321",
"NameOnAccount": "QA",
"Type": "AAAA",
"CDetail": {
"Status": "Open"
}
},
{
"AccountNumber": "12399978",
"NameOnAccount": "QA",
"Type": "BBBB",
"CDetail": {}
},
{
"AccountNumber": "32199974",
"NameOnAccount": "QA",
"Type": "CCCC",
"CDetail": {}
}
]
output application/json
---
(myInput orderBy $.Type)[-1 to 0]
DataWeave
[
{
"AccountNumber": "32199974",
"NameOnAccount": "QA",
"Type": "CCCC",
"CDetail": {
}
},
{
"AccountNumber": "12399978",
"NameOnAccount": "QA",
"Type": "BBBB",
"CDetail": {
}
},
{
"AccountNumber": "987999321",
"NameOnAccount": "QA",
"Type": "AAAA",
"CDetail": {
"Status": "Open"
}
}
]
JSON
orderBy
を null
値に使用できるようにするヘルパー関数。