我收到一个日期字段的JSON请求,我的JSON请求是(它始终只有这种格式): -
{
MyDate:"28:00"
}
我的要求是,如果值大于24,则用24减去该值并返回结果。下面是我实现DW脚本的逻辑(我将Json转换为XML)
%dw 1.0
%output application/xml
%var checkdate= "24:00" as :datetime {format: "HH:mm"}
---
Logic:{
FinalValue: payload.MyDate when payload.MyDate [0..1] <"24" otherwise (
FinalValue: (("payload.MyDate " as :datetime) - ( checkdate as :datetime)))
}
问题: - 我的其他情况不适合上面的示例请求,我的输出应该是
<Logic>
<FinalValue>04:00AM</FinalValue>
</Logic>
答案 0 :(得分:0)
您可以针对您提供的输入尝试以下逻辑: -
%dw 1.0
%output application/xml
---
Logic:{
FinalValue: payload.MyDate when ((payload.MyDate[0..1] as :number) < 24)
otherwise ((payload.MyDate[0..1] as :number) - 24) ++ (payload.MyDate[2..-1])
}