在ColdFusion 2018中启用空支持问题

在ColdFusion 2018中启用空支持问题,coldfusion,coldfusion-2018,Coldfusion,Coldfusion 2018,我正在设置ColdFusion 2018(更新5),但我遇到了一个问题—CF Admin中的“启用空支持”选项似乎没有任何作用 我有一些API结果(来自第三方API),可以返回空值-例如;json { "FirstName": "Fred", "LastName": null, "Email": "test@test.com" } 当我反序列化JSON(theResult)和cfdump结构时,它的LastName值为“undefined”。在ColdFusion 9(我正在将其移

我正在设置ColdFusion 2018(更新5),但我遇到了一个问题—CF Admin中的“启用空支持”选项似乎没有任何作用

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

{
  "FirstName": "Fred",
  "LastName": null,
  "Email": "test@test.com"
}
当我
反序列化JSON(theResult)
cfdump
结构时,它的LastName值为“undefined”。在ColdFusion 9(我正在将其移植到CF2018)中,在上面给出的示例中,在执行cfdump时,LastName的值显示为“null”。我的问题是,在CF2018中,当我尝试访问该变量时,它会抛出一个错误

变量LastName未定义

如果您在CF Admin中选中是否启用空支持复选框,似乎没有什么区别。我尝试过选择它,取消选择它,甚至在每次更新后重新启动CF

这是虫子吗?我正在使用更新版本5(版本2018.0.05.315699)的CF2018。有什么想法吗?

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

自ColdFusion 10以来,JSON空值变得未定义

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

只有isNull和isDefined函数的行为会随上述设置而变化

对于值为null的变量,isNull和isDefined函数返回true。 前面,isNull函数的输出与isDefined函数的输出相反,但现在它检查一个值为null的变量。“

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

自ColdFusion 10以来,JSON空值变得未定义

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

只有isNull和isDefined函数的行为会随上述设置而变化

对于值为null的变量,isNull和isDefined函数返回true。
前面,isNull函数的输出与isDefined函数的输出相反,但现在它检查值为null的变量。”

感谢您的回复。我显然误解了CF Admin中的设置。对于返回null的JSON结果而言,CF将其返回为“undefined”(在尝试访问它时会抛出错误),而不仅仅是一个空字符串(不会抛出错误),这是一个遗憾。我编写了一个函数,用空字符串替换空值。谢谢你的回复。我显然误解了CF Admin中的设置。对于返回null的JSON结果而言,CF将其返回为“undefined”(在尝试访问它时会抛出错误),而不仅仅是一个空字符串(不会抛出错误),这是一个遗憾。我编写了一个函数,用空字符串替换空值。