800-596-4880 ](tel:1-800-596-4880)

Online  [ Contact Us ](https://www.mulesoft.com/contact)

  * Login 

[ Anypoint Platform
](https://anypoint.mulesoft.com/login/#/signin?apintent=generic) [ Composer
](https://composer.mulesoft.com/login/sign-in) [ Training
](https://training.mulesoft.com/login) [ Help Center
](https://help.mulesoft.com/s/login/)

[ Free trial ](https://anypoint.mulesoft.com/login/#/signup?apintent=generic)

[ Link to MuleSoft Twitter profile  ](https://twitter.com/MuleSoft) [ Link to
MuleSoft Linkedin profile  ](https://www.linkedin.com/company/mulesoft) [ Link
to MuleSoft Facebook page  ](https://www.facebook.com/MuleSoft) [ Link to
MuleSoft Instagram profile  ](https://www.instagram.com/mulesoft/) [ Link to
MuleSoft Videos platform  ](https://videos.mulesoft.com/) [ Link to MuleSoft
Twitch profile  ](https://www.twitch.tv/mulesoft_community)

© Copyright 2024  Salesforce, Inc. [ All rights reserved
](https://www.salesforce.com/company/legal/intellectual/) .

![](../../_/img/icons/arrow-down.svg)

Skip to main content

[ View on GitHub ](https://github.com/mulesoft/docs-
dataweave/blob/v2.6/modules/ROOT/pages/dw-objects-functions-keyset.adoc)

#  On this page:

Menu

  1. [ Homepage  ](../../general/)
  2. [ DataWeave (2.6) ](./)
  3. [ DataWeave Reference ](dw-functions)
  4. [ dw::core::Objects ](dw-objects)
  5. keySet 

![](../../_/img/icons/arrow-down.svg) ![](../../_/img/icons/search.svg)

  1. [ Homepage  ](../../general/)
  2. [ DataWeave (2.6) ](./)
  3. [ DataWeave Reference ](dw-functions)
  4. [ dw::core::Objects ](dw-objects)
  5. keySet 

#  keySet

##  keySet<K, V>(obj: { (K)?: V }): Array<K>

Returns an array of key names from an object.

_This function is**Deprecated** . Use [ dw::Core::keysOf ](dw-core-functions-
keysof) , instead. _

###  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
      ]
    }

Back to top

Did this article solve your issue?

Let us know so we can improve!

Yes

![](../../_/img/icons/like.svg)

No

![](../../_/img/icons/dislike.svg)

Please check at least 1 checkbox.

Would you like to share any additional feedback? (Optional)

![](../../_/img/icons/success.svg) Your feedback has been successfully
submitted. Thank you!  [ View on GitHub ](https://github.com/mulesoft/docs-
dataweave/blob/v2.6/modules/ROOT/pages/dw-objects-functions-keyset.adoc)

  * Products 
    * [ Anypoint Platform ](https://www.mulesoft.com/platform/enterprise-integration)