在JS中检查JSON中的Fals/true



我有一个json,它是用php中的ajax读取的。其中一个变量要么为true,要么为false。我在使用if语句时遇到了问题。

"batsman1": {
"Name": "Anvesh *",
"Runs": "0",
"Balls": "0",
"StrikeRate": "-",
"currentlyOnStrike": true
},
"batsman2": {
"Name": "Anuj ",
"Runs": "3",
"Balls": "2",
"StrikeRate": "150.00",
"currentlyOnStrike": false
},

JS:

var onstrike1 = data.batsman1.currentlyOnStrike;
var onstrike2 = data.batsman2.currentlyOnStrike;
if(onstrike1 == 'true'){
document.getElementById("onstrike1").innerHTML = "*";
}else{document.getElementById("onstrike1").innerHTML = onstrike1;}
if(onstrike2 == 'true'){
document.getElementById("onstrike2").innerHTML = "*";
}else{document.getElementById("onstrike2").innerHTML = onstrike2;}

这个脚本中总是显示false。我没看到什么?

JSON布尔值将被转换为Javascript布尔值,因此您只需:

if(onstrike1 === true)

我认为问题在于您正在将onstrike1与字符串进行比较。所以,

执行此操作

if(onstrike1)

if(onstrike1 === true)

而不是这个

if(onstrike1 == 'true')

您正在将onstrike1值与字符串进行比较,而true/false为布尔类型

最新更新