我在JSON有效负载中有一个字段dateLastPaid。此字段的类型是格式为2019-05-10T00:00:00.000-0300的日期。 Salesforce API需要仅日期字段,但是我不能转换它。
我尝试将payload.dateLastPaid用作:date {format:“ yyyy-MM-dd”},但仍会增加时间。
你能帮我吗?
答案 0 :(得分:1)
问题是试图格式化日期。您可以设置字符串格式,或使用格式来解析字符串,但是在DataWeave或Java中,日期和日期时间没有格式。在将日期从初始字符串格式转换为日期时间后,再尝试将其格式化为所需的格式后,它将起作用。
我假设日期在JSON字符串属性中,因为您没有显示实际示例。
输入:
{
"dateLastPaid" : "2019-05-10T00:00:00.000-0300"
}
DataWeave脚本:
%dw 1.0
%output application/json
---
{
date: ( payload.dateLastPaid as :date {format: "yyyy-MM-dd'T'HH:mm:ss.SSSZ"}) as :string {format: "yyyy-MM-dd"}
}
输出:
{
"date": "2019-05-10"
}
答案 1 :(得分:-1)
此脚本将输出字符串"2019-05-10"
%dw 2.0
output application/json
var array = [0,1,2,3,4,5,6,7,8,9]
---
array map ((item, index) ->
payload.dateLastPaid[index]
) joinBy ""