更新 Salesforce:日期格式 Dataweave

Update Salesforce: Date format Dataweave

我有一个字段 dateLastPaid 到 JSON 有效负载中。该字段的类型是格式为 2019-05-10T00:00:00.000-0300 的日期。 Salesforce API 需要一个仅限日期的字段,但我无法转换它。

我尝试使用 payload.dateLastPaid 作为 :date{format: "yyyy-MM-dd"} 但它仍然添加时间。

你能帮帮我吗?

问题在于尝试格式化日期。您可以格式化字符串,或使用格式来解析字符串,但在 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"
}

此脚本将输出字符串 "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 ""