我已经和JSON合作了很长一段时间了.
我知道JSON是stringifiedJavaScript Object.
我也知道是什么使JSON,如下面的线程中所讨论的.
JSON和Object Literal Notation有什么区别?
问题: 但是,我想知道是否有typeof某种方式可以告诉我给定的字符串是JSON还是任何其他字符串.
到目前为止我所观察到的:
1. var data = {"name":"JS"};
alert(typeof(data)); // object. Agree!
2. // I know this is JSON, by looking at the syntax
var data = '{"name":"JS"}';
alert(typeof(data)); // string.
3. // I know this is just any other string (NOT JSON), by looking at the syntax.
var data = "AnyOtherString";
alert(typeof(data)); // string
Run Code Online (Sandbox Code Playgroud)
在JavaScript中,有什么方法可以区分上面的第2 点和第3点.可能,类似的东西typeof会告诉我它是否只是一个字符串或JSON(也是一个字符串).
要查看某些内容是否为JSON:尝试将其解析为JSON.
JSON.parsetry/catch如果不是,将抛出异常(你可以陷阱).
function isJSON(str) {
try {
JSON.parse(str);
return true;
} catch (err) {
return false;
}
}
alert(
isJSON('{"name":"JS"}') + " / " + isJSON("AnyOtherString")
);Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
229 次 |
| 最近记录: |