I want to remove null values rows from the payload. skipNullOn is working if the output type is application/json but it's not working with application/java output and getting error like "Option skipNullOn
is not valid. Valid options are: ". This is expected but I want a solution where I can remove/skip keys with null values with Java output.
Input:
{
"date1": "2021-02-121",
"date2": "2021-02-12 00:00:00",
"date3": null
}
Expected Output:
{
"date1": "2021-02-12",
"date2": "2021-02-12T00:00:00",
}
Script:
%dw 1.0
%output application/java skipNullOn="everywhere"
%function transformDate(dt) (dt as :date {format: "dd/MM/yyyy"} as :string {format: "yyyy-MM-dd"} when ((sizeOf (dt)) == 10) otherwise null)
%function changeDateTime(cdt) (cdt as :localdatetime {format: "dd/MM/yyyy HH:mm:ss"} as :string {format: "dd/MM/yyyy HH:mm:ss"})
%function isEmpty(value) (value!=null and value!="")
---
{
(date1: transformDate(payload.date1)) when (isEmpty(payload.date1)),
(date2: changeDateTime(payload.date2) when (isEmpty(payload.date2)),
(date3: changeDateTime(payload.date3) when (isEmpty(payload.date3))
}