Включить проблему поддержки Null в ColdFusion 2018 - PullRequest
1 голос
/ 01 октября 2019

Я настраиваю ColdFusion 2018 (с обновлением 5), и у меня возникла проблема - похоже, опция «Включить поддержку нулевого уровня» в CF Admin ничего не делает.

У меня есть некоторые результаты API (от стороннего API), которые могут возвращать нулевые значения - например;json

{
  "FirstName": "Fred",
  "LastName": null,
  "Email": "test@test.com"
}

Когда я deserializeJson( theResult ) и cfdump структура, она имеет "undefined" в качестве значения для LastName. В ColdFusion 9 (который я портирую на CF2018) в приведенном выше примере значение LastName отображается как «ноль» при выполнении cfdump. Моя проблема заключается в том, что в CF2018, когда я пытаюсь получить доступ к этой переменной, она выдает ошибку

Переменная LastName не определена

Похоже, что не имеет значения, если выустановите флажок для Включить пустую поддержку в CF Admin или нет. Я пытался выбрать его, отменить выбор, даже перезапустить CF после каждого обновления.

Это ошибка? Я использую CF2018 с обновлением 5 (версия 2018.0.05.315699). Есть идеи?

1 Ответ

0 голосов
/ 07 октября 2019

"До ColdFusion 2018 нулевое значение из базы данных / JSON становится пустой строкой. Поэтому мы не могли отличить сценарий значения NULL от EMPTY. Чтобы обеспечить поддержку реализации на основе нулевого значения, новая версия вводит нулевое значение как часть изменений языка вColdFusion 2018.

https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/DeserializeJSON.html Начиная с ColdFusion 10, нулевые значения JSON становятся неопределенными.

Включение поддержки пустых значений в ColdFusion 2018 отличается, и это не имеет ничего общего с нулевыми значениями вОбработка данных JSON.

Только поведение функций isNull и isDefined будет изменяться в зависимости от вышеуказанного параметра.

Функции isNull и isDefined возвращают true для переменной со значением NULL. Ранее выводФункция isNull обратна выводу функции isDefined, но теперь она проверяет переменную со значением null. "

...