Wednesday 20 March 2024

mapobject in dataweave ?166

 mapobject in dataweave ?

The mapobject function in DataWeave is used to iterate over the key-value pairs of an object and perform transformations on them. It's a powerful tool for manipulating the structure and content of data within your MuleSoft applications.

Here's a breakdown of what mapobject does:


mapobject<K, V>(object: { (K)?: V }, mapper: (value: V, key: K, index: Number) -> Object): Object

  • <K, V>: Represents the generic types for keys and values in the object. In most cases, you can omit this part.

  • object: The input object you want to iterate over.

  • mapper: A lambda expression that defines how to transform each key-value pair.

  • value: The value associated with the current key.

  • key: The key itself.

  • index: The zero-based index of the key-value pair within the object (optional).

  • Returned value: A new object containing the transformed key-value pairs.

Key Points:

  • The mapper lambda expression allows you to access and modify both the key and value of each element.

  • You can modify the value, create a new key-value pair, or even remove the existing pair entirely within the mapper.

  • The index parameter provides context for situations where the order of elements matters.

Here are some common use cases for mapobject:

  • Renaming keys: Change the names of keys in the object.

  • Transforming values: Apply DataWeave expressions to modify the values.

  • Conditional transformations: Apply transformations based on specific conditions.

  • Filtering key-value pairs: Include or exclude certain key-value pairs from the output based on criteria.

  • Creating new key-value pairs: Generate new data based on existing values.


%dw 2.0
output = person |> mapobject { name:toupper(value), age: value * 2 }


  AGE: 40

In this example:

  • We use mapobject to iterate over the person object.

  • The mapper function converts the name value to uppercase and doubles the age value.

  • The resulting output object has modified keys and transformed values.

By effectively using mapobject, you can achieve various data manipulation tasks within your MuleSoft applications using DataWeave's functional programming capabilities.

No comments:

Post a Comment

Note: only a member of this blog may post a comment.