首页 > Web开发 > 详细

【JS&JSON】JSON对象取值a,和字符串a比较不相等

时间:2020-06-24 10:00:10      阅读:68      评论:0      收藏:0      [点我收藏+]
  • 【问题】

    JSON对象取值"succeeded"和字符串常量"succeeded"判断相等为false。

    代码:

    var obj = JSON.parse(data);//JSON字符串转对象
    var stat = "\""+obj.submitStatus+"\"";
    
    console.log(typeof(stat));
    console.log(stat);
    console.log(stat.trim() == "succeeded");
    console.log(encodeURIComponent(stat).trim());
    
    if (stat =="succeeded") {
       ...
    } else if (stat =="failed") {
        ...
    }
    

  • 【解决】

    我在取值时多加了一对引号

    var stat = "\""+obj.submitStatus+"\"";
    

    浏览器打印出来是这样的。我以为字符串打印出来应该就是有引号的,所以没觉得有问题,但实际上打印没有引号。

    技术分享图片


    应该是下面这样。

    var stat = obj.submitStatus;
    

    技术分享图片

    所以,这就是为什么判断为不相等。


  • 【后注】和之前的问题(JSP定义变量,JS中用<%=%>输出赋值给变量)搞混了,那个是要加引号的。

【JS&JSON】JSON对象取值a,和字符串a比较不相等

原文:https://www.cnblogs.com/musecho/p/13185853.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!