keysOf

keysOf(Object): Array<Key>

入力オブジェクト内のキー - 値ペアからのキーの配列を返します。

返されるキーは Key (キー) 型に属します。各キーを文字列として返すには、代わりに ​namesOf​ を使用します。

DataWeave 2.3.0 で導入されました。Mule 4.3 以降でサポートされます。

パラメーター

名前 説明

object

評価するオブジェクト。

次の例では、入力オブジェクト内のキー - 値ペアからのキーを返します。

ソース

%dw 2.0
output application/json
---
{ "keysOf" : keysOf({ "a" : true, "b" : 1}) }

出力

{ "keysOf" : ["a","b"] }

次の例は、​keysOf​ と ​namesOf​ の違いを示しています。 keysOf​ は XML 入力からの属性 (​name​ と ​lastName​) と名前空間 (​xmlns​) を保持していますが、​namesOf​ はそれらを保持しないため、​null​ を返しています。

ソース

%dw 2.0
var myVar = read('<users xmlns="http://test.com">
                     <user name="Mariano" lastName="Achaval"/>
                     <user name="Stacey" lastName="Duke"/>
                  </users>', 'application/xml')
output application/json
---
{ keysOfExample: flatten([keysOf(myVar.users) map $.#,
                          keysOf(myVar.users) map $.@])
}
++
{ namesOfExample: flatten([namesOf(myVar.users) map $.#,
                    namesOf(myVar.users) map $.@])
}

出力

{
  "keysOfExample": [
    "http://test.com",
    "http://test.com",
    {
      "name": "Mariano",
      "lastName": "Achaval"
    },
    {
      "name": "Stacey",
      "lastName": "Duke"
    }
  ],
  "namesOfExample": [
    null,
    null,
    null,
    null
  ]
}