其实非常简单
这里我们需要涉及到 捕获异常 因为如果你直接在if里面转 我已经试过了 直接就报错了 一点面子不给
我们写一个这样的函数
function isJsonString(str) {
try {
JSON.parse(str);
return true;
} catch (e) {
return false;
}
}
编写如下代码
console.log(isJsonString('{"name":"John","age":30}'));
console.log(isJsonString('{name:"John",age:30}'));
console.log(isJsonString('Not a JSON string'));
显然我们第一个是符合json规范的
第二个 json写错了 第三个 那就差远了
函数很顺利的做出了正确的判断 且因为捕获异常的存在 也不会 把错误暴露出来