Замена Null пустым пробелом в Dataweave 2.0

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

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

Пожалуйста, предоставьте любые указатели на то же самое.

Спасибо.введите здесь описание изображения


person Developer    schedule 04.02.2019    source источник


Ответы (2)


Это потому, что вы назначаете пустую строку 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 ""
    )
}
person Ryan Carter    schedule 04.02.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

person Gurpreet Singh    schedule 07.02.2019