Flex Gateway新着情報
Governance新着情報
Monitoring API Manager一連のサブ配列 ([ [1,2,3], [4,5,[6]], [], [null] ] など) を 1 つのフラット化した配列 ([ 1, 2, 3, 4, 5, [6], null ] など) に変換します。
サブ配列の最初のレベルのみがフラット化され、空のサブ配列は省略されます。
この例では、数値の配列を 3 つ定義し、それらの 3 つの配列を含むもう 1 つの配列を作成してから、flatten 関数を使用して配列の配列をすべての値を含む 1 つの配列に変換します。
次の例では、オブジェクトのネストされた配列から 1 つの配列を返します。
%dw 2.0
var myData =
{ user : [
   {
     group : "dev",
     myarray : [
       { name : "Shoki", id : 5678 },
       { name : "Mariano", id : 9123 }
     ]
   },
   {
     group : "test",
     myarray : [
       { name : "Sai", id : 2001 },
       { name : "Peter", id : 2002 }
     ]
   }
 ]
}
output application/json
---
flatten(myData.user.myarray)
[
  {
    "name": "Shoki",
    "id": 5678
  },
  {
    "name": "Mariano",
    "id": 9123
  },
  {
    "name": "Sai",
    "id": 2001
  },
  {
    "name": "Peter",
    "id": 2002
  }
]
flatten(myData.user.myarray) を使用するのではなく、myData.user.myarray を使用して myarray 内のオブジェクトの配列を選択した場合、出力はオブジェクトのネストされた配列になります。
[
  [
    {
      "name": "Shoki",
      "id": 5678
    },
    {
      "name": "Mariano",
      "id": 9123
    }
  ]
]