我知道在大多数编程方案中,当元素为0时,首选是将空集合改为空集合。但是,大多数使用JSON的语言(例如JavaScript)会将空列表/对象视为true,将空列表/对象视为false。例如,这既是true也是JavaScript中的对象:
{
"items_in_stock": {"widgets":10, "gadgets": 5}
}
但这也是事实:
{
"items_in_stock": {}
}
这是错误的:
{
"items_in_stock": null
}
是否有关于JSON的空对象/列表的约定?而数字,布尔值和字符串呢?
[]
如果期望的返回类型是数组,则返回一个空数组是一种良好的编程习惯。这确保json的接收者可以立即将值视为数组,而不必首先检查null。这与使用开闭括号的空对象相同{}
。
字符串,布尔值和整数没有“空”形式,因此可以使用空值。
这在Joshua Blochs的优秀著作“ Effective
Java”中也得到了解决。他在那里描述了一些非常好的通用编程实践(通常也适用于其他编程语言)。返回空集合而不是null就是其中之一。
这是他那本书的一部分的链接:
http://jtechies.blogspot.nl/2012/07/item-43-return-empty-arrays-
or.html
问题内容: 我是SQL概念的新手,在研究NULL表达式时,我想知道为什么NULL与NULL不能匹配,有人能告诉我一个简单的例子来说明这个概念吗? 问题答案: 规则:甚至没有一个NULL都不能等于NULL。 非技术方面 如果您问两个女孩,他们几岁?可能是您会听到他们拒绝回答您的问题,两个女孩都给您NULL作为年龄,但这并不意味着两个人的年龄都差不多。因此,没有什么可以等于null。
堆栈溢出。 和 详细信息:失败行包含(18,Item Name在这里,这是描述,40.00,items/pattern.png,lXBjgo70QIrI8aF,1,null)。 这是完整的回溯 null 提前谢谢你
问题内容: 什么啊 是任何实例吗? 属于什么集合? 它在内存中如何表示? 问题答案: 是否是任何实例? 不,没有类型是。 15.20.2类型比较运算符 在运行时,运算符的结果是,true如果的值不是,并且引用可以强制转换为而不引发。否则结果为。 这意味着对于任何类型的E和R,对于任何,在那里,永远是。 “ null”属于什么集合? JLS 4.1类型和值的种类 还有一个特殊的类型,即的类型,它没有
根据JSON规范,表示null值的正确方法是文字。 预期结果: 实际结果:
问题内容: 我必须编写一个例程,如果变量的类型为,则将变量的值加1,否则将变量的值分配为0,其中变量的初始值为或。 第一个实现是因为我认为没有数字会使算术表达式为假,但是由于计算为真,所以这是错误的。然后,我得知行为类似于0,并且以下表达式均被评估为true。 当然不是0。被评估为false。这使看似重言式的表达成为错误。 为什么实际上不是0,却像0? 问题答案: 您真正的问题似乎是: 为什么:
问题内容: 我正在阅读本文: 在SQL中获取null == null 共识是,当尝试测试两个(可空)sql列之间的相等性时,正确的方法是: 当A和B为时,(A = B)仍返回FALSE,因为NULL不等于NULL。这就是为什么需要额外检查的原因。 检验不平等情况如何?经过以上讨论,我认为要测试不平等,我需要做一些类似的事情: 但是,我注意到这不是必需的(至少在informix 11.5上没有),我