用JSON.parse会报错。。。
if( typeof someVar === 'object' ) {
// Object
}
if( Object.prototype.toString.call( someVar ) === '[object Array]' ) {
// Array
}
if (Array.isArray(someVar)) {
// Array
}
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.4k 阅读✓ 已解决
6 回答1.1k 阅读
我的理解你是想把一段 JSON 转换为 JS 的对象或者数组,但是
JSON.parse()
报错——因为给的字符串格式不对。只要是正确的 JSON 字符串,都可以直接用
JSON.parse()
来解析生成对象/数组。如果是非标准 JSON 格式,但是合法的 JavaScript 对象/数组 字面量,可以用eval()
来得到。如果都不是,怎么都得出错,那就按 @一只渴望飞翔的猪 说的,加try...catch
来容错。