2
我對JSON.parse的功能感到困惑。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
怎麼會出現這種情況? 以這種方式,我無法確定我是否接收字符串或對象,這是我的主要目標。 請幫忙
是JS類型轉換對象轉換成字符串解析後?但爲什麼「'富'」不以這種方式工作? 「'foo'」是一個簡單的字符串,但''foo''是一個json字符串? –
區別在於「foo」是有效的JSON,而「foo」不是。與JavaScript不同,JSON不允許''''和'''互換。什麼可能是你的困惑,而且很多人認爲JSON只是一種將javascript數據對象表示(或序列化)爲字符串的方法。而字符串就像其他任何其他的數據對象 – musefan
謝謝musefan。我不知道JSON方法的行爲。 –