1

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

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

你能帮助我吗?

4

2 回答 2

2

问题是尝试格式化日期。您可以格式化字符串,或使用格式解析字符串,但在 DataWeave 或 Java 中,日期和日期时间没有格式。它在将日期从初始字符串格式转换为日期时间之后再尝试将其格式化回所需格式后起作用。

我假设日期在 JSON 字符串属性中,因为您没有显示实际示例。

输入:

{
  "dateLastPaid" :  "2019-05-10T00:00:00.000-0300"
}

数据编织脚本:

%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-07-11T00:55:47.470 回答
-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 ""
于 2019-07-12T00:09:11.267 回答