在 ColdFusion 2018 中启用 Null 支持问题

Enable Null Support issue in ColdFusion 2018

我正在设置 ColdFusion 2018(使用更新 5)并且遇到问题 - CF Admin 中的 "Enable Null Support" 选项似乎没有任何作用。

我有一些 API 结果(来自第三方 api)可以 return 空值 - 例如; json

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

当我 deserializeJson( theResult )cfdump 结构时,它具有 "undefined" 作为 LastName 的值。在 ColdFusion 9(我正在移植到 CF2018)中,在上面给出的示例中,执行 cfdump 时 LastName 的值显示为 "null"。我的问题是,在 CF2018 中,当我尝试访问此变量时,它会引发错误

Variable LastName is undefined

如果您在 CF Admin 中选中 Enable Null Support 框似乎没有什么不同。我试过选择它,取消选择它,甚至在每次更新后重新启动 CF。

这是一个错误吗?我将 CF2018 与更新 5(版本 2018.0.05.315699)一起使用。有什么想法吗?

"在 ColdFusion 2018 之前,数据库中的空值 / JSON 变为空字符串。因此我们无法区分 NULL 与 EMPTY 值场景。 为了支持基于 null 的实现,新版本在 ColdFusion 2018 中引入了 null 作为语言更改的一部分。

https://helpx.adobe.com/coldfusion/cfml-reference/coldfusion-functions/functions-c-d/DeserializeJSON.html 从 ColdFusion 10 开始,JSON 空值变为未定义。

在 ColdFusion 2018 中启用空值支持是不同的,它与 JSON 数据处理中的空值无关。

只有 isNull 和 isDefined 函数的行为会因上述设置而异。

isNull 和 isDefined 函数 return 对于具有空值的变量为真。 早些时候,isNull 函数的输出与 isDefined 函数的输出相反,但现在它检查值为 null 的变量。"