filterObject

DataWeave 2.1 は Mule 4.1 と互換性があります。 Mule 4.1 の標準サポートは 2020 年 11 月 2 日に終了しました。このバージョンの Mule は、拡張サポートが終了する 2022 年 11 月 2 日にその​​すべてのサポートが終了します。

このバージョンの Mule を使用する CloudHub には新しいアプリケーションをデプロイできなくなります。許可されるのはアプリケーションへのインプレース更新のみになります。

標準サポートが適用されている最新バージョンの Mule 4 にアップグレード​することをお勧めします。これにより、最新の修正とセキュリティ機能強化を備えたアプリケーションが実行されます。

filterObject(​{ (K)?: V }, (value: V, key: K, index: Number) -> Boolean): { (K)?: V }

オブジェクトを絞り込んで ​criteria​ (条件) を満たすキー-値ペアを保持します。

条件 (ラムダ式) には 3 つのパラメータ ​value​ (値)、​key​ (キー)、 ​index​ (インデックス) があります。値は ​$​、キーは ​$$​、 インデックスは ​$$$​ で参照できます。

パラメータ

名前 説明

value

入力オブジェクト。

criteria

キー-値ペアを保持するかどうか判断する式。

次の例では、値が ​"a"​ と等しいキー-値ペアのみを保持します。

ソース

%dw 2.0
output application/json
---
{"letter1": "a", "letter2": "b"} filterObject ((value) -> value == "a")

出力

{
  "letter1": "a"
}

次の例では、キーが「letter」で開始するキー-値ペアのみを保持します。

ソース

%dw 2.0
output application/json
---
{"letter1": "a", "letter2": "b", "id": 1} filterObject ((value, key) -> key startsWith "letter")

次の例では、入力 JSON オブジェクト内の ​null​ 以外の値のみを含むオブジェクトを出力します。

ソース

%dw 2.0
output application/json
var o = {
    str1 : "String 1",
    str2 : "String 2",
    str3 : null,
    str4 : "String 4",
}
---
o filterObject $ != null

出力

{
  "str1": "String 1",
  "str2": "String 2",
  "str4": "String 4"
}

filterObject(Null, (value: Nothing, key: Nothing, index: Nothing) -> Boolean): Null

filterObject​ を null 値に使用できるようにするヘルパー関数。