如何在 Javascript 中比较字符串和布尔值?
我从服务器获取了 Json "false"
。我响应为 bool
但它是 Json,所以它在浏览器中的类型是 String
而不是 bool
。
因此,如果我每当我想检查 "false" == false
时运行 (!data)
那么它们就不起作用。
那么如何在 JavaScript 中从 String
解析 bool
呢?
“true”== true
和 “false”== false
。然后代码(!data)
可以检查它是什么[true
和false
]
I got the Json "false"
from server. I respond as bool
but it's Json so it's in browser type is String
instead of bool
.
So if I run (!data)
whenever I want to check "false" == false
then they not worked.
So how can I parse bool
from String
in JavaScript then?
"true" == true
and "false" == false
. Then the code (!data)
can check what it is [true
and false
]
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
示例:
Examples:
我只是明确检查字符串“true”。
否则你可以使用
JSON.parse( )
将其转换为原生 JavaScript 值,但如果您知道它只是字符串"true"
或"false"您将收到。
I would just explicitly check for the string
"true"
.Otherwise you could use
JSON.parse()
to convert it to a native JavaScript value, but it's a lot of overhead if you know it's only the strings"true"
or"false"
you will receive.这很好用。
This works fine.
尝试表达式 data == "true"
测试:
data = "false" -- 值将为 false
date = "true" -- 值将为 true
另外,请修复您的 JSON。 JSON 可以很好地处理布尔值。
Try expression data == "true"
Tests:
data = "false" -- value will be false
date = "true" -- value will be true
Also, fix your JSON. JSON can handle booleans just fine.
如果它只是一个 json“false”/“true”,你可以使用,
如果你限制代码只接受来自服务器的 JSON 数据,并且总是 jsonParse 或将其评估为 JS 对象(something就像 jquery getJSON 一样,它只接受 JSON 响应并在传递给回调函数之前将其解析为对象。
这样,您不仅可以将布尔值作为 boolean-from-server 获得,而且还可以保留所有其他数据类型,然后您可以使用常规表达式语句而不是特殊的语句。
快乐编码。
If its just a json "false"/"true", you can use,
It would be more cleaner, if you restrict the code to accept only JSON data from server, and always jsonParse or eval it to JS object (something like jquery getJSON does. It accepts only JSON responses and parse it to object before passing to callback function).
That way you'll not only get boolean as boolean-from-server, but it will retain all other datatypes as well, and you can then go for routine expressions statements rather than special ones.
Happy Coding.
我认为你需要看看 JSON 数据是如何生成的。你绝对可以在 JSON 中使用普通的 JS 布尔值 false。
{ “值1”:假,“值2”:真 }
I think you need to look at how the JSON data is being generated. You can definitely have a normal JS boolean false in JSON.
{ "value1" : false, "value2" : true }
来自: http://www.webdeveloper.com/forum/showthread.php?t =147389
实际上,您只需要函数中的第一个“if”语句 - 测试在代码中查找 true 或 false,然后对其进行评估,将其转换为布尔值
From: http://www.webdeveloper.com/forum/showthread.php?t=147389
Actually, you just need the first "if" statement from the function -- tests to find true or false in the code and the
eval
s it, turning it into the boolean value通过附加空白字符串将布尔值转换为字符串。然后与Stringobject进行比较。
Convert boolean to string by appending with blank string. and then compare with Stringobject.