filterObjectLeafs

filterObjectLeafs(value: Any, criteria: (value: Any, path: Path) -> Boolean): Any

絞り込み式をオブジェクトのキーのリーフまたは ​Path​ 値に適用します。

オブジェクトのリーフ値は ​SimpleType​ 値または ​Null​ 値である必要があります。型の説明については、 「Core 型」​を参照してください。

DataWeave バージョン 2.4.0 で導入されました。

パラメーター

名前 説明

value

Any​ 型の入力値。

criteria

入力 ​value​ のすべてのオブジェクトの ​SimpleType​ または ​Null​ リーフ値に適用する Boolean (ブール) 式。結果が ​true​ の場合、オブジェクトではリーフ値およびそのキーが保持されます。それ以外の場合、この関数により、リーフ値およびキーが出力から削除されます。

次の例では、さまざまな入力での ​filterObjectLeafs​ の動作を示します。

ソース

%dw 2.0
import * from dw::util::Tree
var myArray = [{name @(mail: "me@me.com", test:123 ): "", id:"test"},
               {name: "Me", id:null}]
output application/json
---
{
 a: {
     name: "Mariano",
     lastName: null,
     age: 123,
     friends: myArray
    }  filterObjectLeafs ((value, path) ->
         !(value is Null or value is String)),
 b: { c : null, d : "hello" } filterObjectLeafs ((value, path) ->
         (value is Null and isObjectType(path)))
}

出力

{
  "a": {
    "age": 123,
    "friends": [
      {

      },
      {

      }
    ]
  },
  "b": {
    "c": null
  }
}