Dataweave - заменить значение поля в объекте - PullRequest
0 голосов
/ 16 июня 2019

У меня есть Java Object как вход полезная нагрузка:

{
"name"="Michael",
"surname"="Alpha",
"mail"="demo@gmail.com",
"gender"="Male"
}

Я хочу изменить значение пола , сохранив оставшуюся часть сообщения :

%dw 2.0
output application/java
---
gender: if(payload.gender == "Male") "" else payload.gender

Но оно возвращает только поле пола. Как я могу решить это?

1 Ответ

2 голосов
/ 16 июня 2019

Скрипт dataweave должен соответствовать вашей структуре вывода, и вы выводите только одно поле пола.

Один быстрый способ изменить текущую полезную нагрузку - payload ++.

Если ваша полезная нагрузка является картой / объектом, она просто заменит ключ, если он существует, или добавит его, если нет. Пример:

%dw 2.0
output application/java
---
payload ++ {gender: (if (payload.gender == "male") ""  else payload.gender)}
...