Im trying to read an array of json payload and based on one attribute i like to pick elements. That is, I get array of employee data, based on termination date, i need to get who left the company.
Sample payload;
{
"Employees": {
"Employee": [
{
"UserId": "JC00",
"TerminationDate": "2022-10-15"
},
{
"UserId": "JC01",
"TerminationDate": "2021-11-15"
},
{
"UserId": "JC02",
"TerminationDate": "2021-03-15"
}
]
}
}
My sample script is;
%dw 2.0
output application/json
---
{
responses: payload.Employees.Employee map ((employees, indexOfInv) ->
{
staff: if(employees.'TerminationDate'<now()) employees.UserId else ''
})
}
My expected output is;
{
"responses": [
{
"UserId": "JC01"
},
{
"UserId": "JC02"
}
]
}
But what i get currently is; "Cannot coerce String ("2022-10-15") to Null
Can anyone point me how to change TerminationDate to Date and compare with current date in Mule4?