更新Salesforce:日期格式Dataweave

更新Salesforce:日期格式Dataweave,salesforce,nsdateformatter,date-format,dataweave,mulesoft,Salesforce,Nsdateformatter,Date Format,Dataweave,Mulesoft,我有一个字段dateLastPaid到JSON负载中。该字段的类型为2019-05-10T00:00:00.000-0300格式的日期。 Salesforce API需要一个仅日期字段,但我无法转换它 我尝试使用payload.datelastpayed作为:date{format:“yyyy-MM-dd”}但它仍然添加了时间 你能帮我吗?问题是试图格式化日期。您可以格式化字符串,或使用格式解析字符串,但在DataWeave或Java中,日期和日期时间没有格式。将日期从初始字符串格式转换为dat

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

我尝试使用payload.datelastpayed作为:date{format:“yyyy-MM-dd”}但它仍然添加了时间


你能帮我吗?

问题是试图格式化日期。您可以格式化字符串,或使用格式解析字符串,但在DataWeave或Java中,日期和日期时间没有格式。将日期从初始字符串格式转换为datetime后,再尝试将其重新格式化为所需的格式,该函数就可以工作

我假设日期在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”


是的,它是JSON负载中的一个字段。字段是一个字符串。我知道你解释了我,但是。。。我需要调用一个API。这个API有一个RAML,在这个RAML中,我需要发送的字段仅为date类型。当我尝试发送字符串时,API失败。请接受答案或更新描述,好吗?
%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 ""