簡體   English   中英

JSON.parse 將字符串解析為字符串

[英]JSON.parse parsing a string into string

我對 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

這是怎么回事?? 通過這種方式,我無法確定我是在接收字符串還是對象,這是我的主要目標。 請幫忙

那是因為JSON.parse能夠成功解析該輸入,它將其解析為字符串,而字符串就是返回結果。

查看文檔並查看示例。 這個具體:

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

關於實現你的目標,你已經做到了:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM