Замена пустого значения пустым в Dataweave 2.0 - PullRequest
0 голосов
/ 04 февраля 2019

Я должен заменить ноль на пробелы в dataweave 2.0, я перепробовал много комбинаций, но получаю ошибку.

Снимок экрана прилагается для справки.

Пожалуйста, укажите любые указатели длятоже самое.

Спасибо. enter image description here

Ответы [ 2 ]

0 голосов
/ 07 февраля 2019

Лучше использовать when - otherwise.Ниже приведено преобразование данных для вашей проблемы

%dw 2.0
%output application/json
%var doctorInfoList=[{doctorId: '1', doctorName : 'A'},{doctorId: '2', doctorName : 'B'}, 
    {doctorId: null, doctorName : 'C'},{doctorId: '', doctorName : 'D'},{}]
---
{
        DoctorInfoList: doctorInfoList map ((doctorValue, doctorIndex) -> {
            "docorId" : '' when doctorValue.doctorId is :null otherwise doctorValue.doctorId,
            "docorName" : doctorValue.doctorName 
        }
     )
}

Вывод будет выглядеть следующим образом:

{
  "DoctorInfoList": [
    {
      "docorId": "1",
      "docorName": "A"
    },
    {
      "docorId": "2",
      "docorName": "B"
    },
    {
      "docorId": "",
      "docorName": "C"
    },
    {
      "docorId": "",
      "docorName": "D"
    },
    {
      "docorId": "",
      "docorName": null
    }
  ]
}

Замените doctorInfoList на payload

0 голосов
/ 04 февраля 2019

Это потому, что вы назначаете пустую строку dValue.doctorId, а не (doctorId).Также использовать default здесь проще для установки значений по умолчанию.Вот пример:

%dw 2.0
output application/xml
var doctorInformationList=[{doctorId: '1'},{doctorId: '2'}, {}]
---
root: {
        DoctorInformationList: doctorInformationList map ((dValue, dIndex) -> 

        doctorId : dValue.doctorId default ""
    )
}
...