从JSON对象:'0'是假的
From a JSON object: '0' is false?
我得到一个具有以下属性的JSON对象
id: "23132772"
isAvailable: "1",
isSelected: "0",
maxPoints: "0",
minPoints: "0",
name: "Parlay",
placeBetIsAvailable: "0"
该JSON来自一个名为betType
的对象
假设我想在CCD_ 2是CCD_ 3时使用它。
如你所见,我有placeBetIsAvailable: "0"
那么,在我的代码中,我能做到吗:
if(!betType.placeBetIsAvailable)
?
或者我应该指定
if(betType.placeBetIsAvailable === '0')
?
字符串"0"
在JavaScript中是truthy,而数字0
不是。如果JSON是用引号中的零编码的,那么它们是非空字符串。
如果它是一个数字而不是字符串,你可以这样做,但由于它是一条字符串中有字符的字符串(不是空字符串"(,它不再是false。要解决这个问题,你可以做这个
if(!parseInt(betType.placeBetIsAvailable))
或
if(!+betType.placeBetIsAvailable)
这可能比做还要多
if(betType.placeBetIsAvailable === '0')
如果使用字符串"0"answers"1"对true
和false
进行编码,则构造if(!betType.placeBetIsAvailable)
是不合适的。在地址栏中键入此内容以查看原因。
javascript:alert(["0", !"0", "1", !"1"])
基本上!"0"和!"1"均计算为false
。
如果确实无法对服务器返回的JSON执行任何操作,则应使用if(betType.placeBetIsAvailable === '0')
格式。
尝试将其转换为数字并使用!将其转换为布尔
if(!!Number(betType.placeBetIsAvailable))
相关文章:
- jQuery匹配JSON对象的部分文本
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 如何为json对象中的段发送array[]
- 将JSON对象传递给angular指令
- 更改JSON对象的结构
- 访问JSON对象内部的数组元素
- 在ejs-partial中对JSON对象进行迭代
- 遍历 JSON 对象并检查 URL 是否以某个值结尾
- 访问嵌套JSON对象的键,其中键是动态的
- json对象中缺少对象循环
- 发送json对象或使用express路由呈现视图
- 在play2框架中向json对象添加下拉列表项
- 元素名称上带有短划线 (-) 字符的 Json 对象
- autocomplete不接受源的json对象
- 如何在javascript中创建动态json对象
- 在使用客户端脚本时拾取JSON对象
- 如何通过json对象数组为嵌套对象赋值
- 构造JSON对象