后端传来的数据需要判断是否为json格式,用以下代码:
function isJSON(str) {
if (typeof str == 'string') {
try {
JSON.parse(str);
console.log(str,"true")
return true;
} catch(e) {
console.log(str,"false")
return false;
}
}
return false;
}
测试如下:
- 传入json格式字符串,返回true
- 传入字符串 “abc”,返回false
- 传入字符串 “中国” ,返回false
- 传入字符串 “12345” ,返回true
注意第4项,当传入的是数字格式的字符串时,JSON.parse函数不会出错,所以函数返回true。即此时函数会放为数字字符串是符合json格式的。
看到之前有网友提到: JSON.parse(‘1’)返回为1,类型为number