Обновление Salesforce: формат даты Dataweave - PullRequest
1 голос
/ 11 июля 2019

У меня есть поле dateLastPaid в полезную нагрузку JSON.Тип этого поля - дата в этом формате 2019-05-10T00: 00: 00.000-0300.Salesforce API ожидает поле только для даты, но я не могу его преобразовать.

Я пытался использовать payload.dateLastPaid как: date {format: "yyyy-MM-dd"}, но все равно добавлял время.

Вы можете мне помочь?

Ответы [ 2 ]

1 голос
/ 11 июля 2019

Проблема заключается в попытке форматировать дату.Вы можете отформатировать строку или использовать формат для анализа строки, но в 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"
}
0 голосов
/ 12 июля 2019

Этот скрипт выведет строку "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 ""
...