JSON.parse将字符串解析为字符串

时间:2015-06-23 12:39:10

标签: javascript html5

我对JSON.parse的功能感到困惑。

我正在编写代码:

dynamicMsgObj = '"rest, no disc"';
var jsonObj = {};
var isJsonString = function isJsonString(str) {
    try {
        jsonObj = JSON.parse(str);
    } catch (e) {
        return false;
    }
    return true;
}(dynamicMsgObj);
console.log(isJsonString);// returns true
console.log(typeof jsonObj);//returns string

这是怎么回事? 通过这种方式,我无法确定我是否正在接收字符串或对象,这是我的主要目标。 请帮忙

1 个答案:

答案 0 :(得分:2)

因为JSON.parse能够成功解析该输入,它会将其解析为字符串,字符串就是返回结果。

Check out the documentation并查看示例。这个具体是:

JSON.parse('"foo"'); // "foo"

关于实现目标,你已经做到了:

if(isJsonString && typeof jsonObj == 'string')
    // is string
else
    // is something else