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方法的行为。 –