%dw 2.0
output application/json
---
{"a":"b","c":"d"} mapObject (value,key,index) -> { (index) : { (value):key} }
mapObject
DataWeave 2.2 is compatible and bundled with Mule 4.2. This version of Mule reached its End of Life on May 2, 2023, when Extended Support ended. Deployments of new applications to CloudHub that use this version of Mule are no longer allowed. Only in-place updates to applications are permitted. MuleSoft recommends that you upgrade to the latest version of Mule 4 that is in Standard Support so that your applications run with the latest fixes and security enhancements. |
mapObject({ (K)?: V }, (value: V, key: K, index: Number) -> Object): Object
Iterates over an object using a mapper that acts on keys, values, or indices of that object.
Parameters
Name | Description |
---|---|
|
The object to map. |
|
Expression or selector that provides the |
Example
This example iterates over the input { "a":"b","c":"d"}
and uses the
anonymous mapper function ((value,key,index) → { (index) : { (value):key} }
)
to invert the keys and values in each specified object and to return the
indices of the objects as keys. The mapper uses named parameters to identify
the keys, values, and indices of the input object. Note that you can write
the same expression using anonymous parameters, like this:
{"a":"b","c":"d"} mapObject { ($$$) : { ($):$$} }
Example
This example increases each price by 5 and formats the numbers to always include 2 decimals.
Source
%dw 2.0
output application/xml
---
{
prices: payload.prices mapObject (value, key) -> {
(key): (value + 5) as Number {format: "##.00"}
}
}
mapObject(Null, (value: Nothing, key: Nothing, index: Number) -> Nothing): Null
Helper function that allows mapObject
to work with null values.