更新Salesforce:日期格式Dataweave

时间:2019-07-10 22:39:26

标签: salesforce nsdateformatter date-format dataweave mulesoft

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

我尝试将payload.dateLastPaid用作:date {format:“ yyyy-MM-dd”},但仍会增加时间。

你能帮我吗?

2 个答案:

答案 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 ""