
Hi All,
My request is
{
"data": {
"response": {
"product": {
"id": "ST22"
},
"coverageResponse": [
{
"selected": true
},
{
"selected": false
}
]
}
}
}
as a reponse I want "response" tag to be removed and "product" to be replaced by "inventory"
{
"data": {
"inventory": {
"id": "ST22"
},
"coverageResponse": [
{
"selected": true
},
{
"selected": false
}
]
}
}
I have done it like below
{
"data":
"inventory": payload.data.response.product,
"coverageResponse": payload.data.response.coverageResponse
}
But this is bringing coverageResponse in the same level as data.
Try this out:
%dw 2.0
import * from dw::util::Values
output application/json
---
(payload update {
case .data -> $[0]
}) update {
case .data -> ($) mapObject() -> {
(if(($$) as String == "product") "inventory": ($) else ($$): ($))
}
}
Output:
-Sufi