Flex Gateway新着情報
Governance新着情報
Monitoring API Managerこの DataWeave の例では、オブジェクトの配列から一連のキー-値ペアを含むすべてのオブジェクトを削除します。
開始する前に、DataWeave バージョン 2 (%dw 2.0) は Mule 4 アプリケーションを対象とすることに注意してください。Mule 3 アプリケーションの場合、Mule 3.9 ドキュメントセットの DataWeave バージョン 1 (%dw 1.0) の例を参照してください。他の Mule バージョンの場合は、目次の Mule Runtime バージョンセレクターを使用できます。
この例では、次の関数を使用します。
filter では、入力配列のオブジェクトを反復処理し、式の結果として true を返すオブジェクトが含まれる配列を返します。入力配列の各オブジェクトには、一連のキー-値ペアが含まれます。式では contains 関数と not 演算子が使用されます。
contains では、dropThese 変数で指定されたキー-値ペアを識別します。この変数は、削除するキー-値ペアが含まれるオブジェクトの配列です。
not では、dropThese で識別されたキー-値ペアを filter で最終出力から削除するように、contains 関数の結果を否定します。(not がない場合、結果は不要なキー-値ペアのみが含まれるオブジェクトの配列になります)。
%dw 2.0
var dropThese = [
{"type" : "secondary", "space" : "rgb"},
{"type" : "primary", "space" : "cmyk"}
]
output application/json
---
payload filter (not (dropThese contains {"type": $."type", "space": $."space"}))
[
    {"sequence": "1", "color": "red", "type": "primary", "space": "rgb"}
    {"sequence": "2", "color": "green", "type": "primary", "space": "rgb"},
    {"sequence": "3", "color": "blue", "type": "primary", "space": "rgb"},
    {"sequence": "4", "color": "yellow", "type": "secondary", "space": "rgb"},
    {"sequence": "5", "color": "magenta", "type": "secondary", "space": "rgb"},
    {"sequence": "6", "color": "cyan", "type": "secondary", "space": "rgb"},
    {"sequence": "7", "color": "cyan", "type": "primary", "space": "cmyk"},
    {"sequence": "8", "color": "magenta", "type": "primary", "space": "cmyk"},
    {"sequence": "9", "color": "yellow", "type": "primary", "space": "cmyk"},
    {"sequence": "10", "color": "red", "type": "secondary", "space": "cmyk"},
    {"sequence": "11", "color": "green", "type": "secondary", "space": "cmyk"},
    {"sequence": "12", "color": "blue", "type": "secondary", "space": "cmyk"}
]
[
  {
    "sequence": "1",
    "color": "red",
    "type": "primary",
    "space": "rgb"
  },
  {
    "sequence": "2",
    "color": "green",
    "type": "primary",
    "space": "rgb"
  },
  {
    "sequence": "3",
    "color": "blue",
    "type": "primary",
    "space": "rgb"
  },
  {
    "sequence": "10",
    "color": "red",
    "type": "secondary",
    "space": "cmyk"
  },
  {
    "sequence": "11",
    "color": "green",
    "type": "secondary",
    "space": "cmyk"
  },
  {
    "sequence": "12",
    "color": "blue",
    "type": "secondary",
    "space": "cmyk"
  }
]