Contact Free trial Login

keySet

keySet(T): ?

Returns an array of key names from an object.

Parameters

Name Description

object

The object to evaluate.

Example

This example returns the keys from the input object.

Source

%dw 2.0
import * from dw::core::Objects
output application/json
---
{ "keySet" : keySet({ "a" : true, "b" : 1}) }

Output

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

Example

This example illustrates a difference between keySet and nameSet. Notice that keySet retains the attributes (name and lastName) and namespaces (xmlns) from the XML input, while nameSet returns null for them because it does not retain them.

Source

%dw 2.0
import * from dw::core::Objects
var myVar = read('<users xmlns="http://test.com">
                     <user name="Mariano" lastName="Achaval"/>
                     <user name="Stacey" lastName="Duke"/>
                  </users>', 'application/xml')
output application/json
---
{ keySetExample: flatten([keySet(myVar.users) map $.#,
                          keySet(myVar.users) map $.@])
}
++
{ nameSet: flatten([nameSet(myVar.users) map $.#,
                    nameSet(myVar.users) map $.@])
}

Output

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

Was this article helpful?

💙 Thanks for your feedback!

Edit on GitHub