Reputation: 1899
I have incoming payload as follow:
{
"id": "",
"provision": {
"switch": "xyz",
"port": ""
}
}
I want to transform this payload so that id gets set to 9 and port to 80. So after the transform the payload should be
{
"id": "9",
"provision": {
"switch": "xyz",
"port": "80"
}
}
How can I do this? I am using EE 4.2.2
Upvotes: 0
Views: 546
Reputation: 4303
Another crude approach. Not recommended..
%dw 2.0
output application/json
var id = payload - "provision"
var provision = payload - "id"
var newProv= provision[0] - "port" ++ {"port" : 80}
---
{id:9} ++ provision : newProv
Upvotes: 0
Reputation: 4303
You can make use of the update operator.
https://docs.mulesoft.com/mule-runtime/4.3/dw-values-functions-update
Input
{
"id": "",
"provision": {
"switch": "xyz",
"port": ""
}
}
Script
%dw 2.0
import * from dw::util::Values
output application/json
---
(payload update field("id") with 9) update ["provision",field("port")] with 80
Output
{
"id": 9,
"provision": {
"switch": "xyz",
"port": 80
}
}
Upvotes: 2