Лучшие практики DataWeave при присвоении нулевой переменной

Это преобразование JSON-JSON, преобразующее логический ввод ("true"|"false") в вывод символа ('Y'|'N'). Итак, мы делаем что-то вроде:

varOutput: ('Y' when payload.varInput otherwise 'N')

Но что, если varInput равен нулю? у нас есть исключение. Я мог бы контролировать это с помощью другого, когда-иначе:

varOutput: ('Y' when payload.varInput != null otherwise 'N')
when payload.varInput != null otherwise null,

Последний вариант является нулевым, но, опять же, я считаю, что должен быть более элегантный способ.


person Marcos    schedule 04.12.2015    source источник


Ответы (1)


Используйте 1_

{varOutput: ( payload.varInput default 'N')
 }

Или, если / в противном случае не является нулевым безопасным и немного более элегантным:

{ 
    varOutput: ('Y' unless payload.varInput !=null otherwise 'N')
}
person Ryan Carter    schedule 04.12.2015
comment
По-прежнему нужно преобразовать истину в «Y». Как насчет {varOutput: 'Y', когда (payload.varInput default false) default 'N'} - person Ryan Hoegg; 07.12.2015
comment
Конечно, выглядит хорошо. добавлен еще один вариант, если / иначе тоже. - person Ryan Carter; 07.12.2015