6 个回答

我的理解你是想把一段 JSON 转换为 JS 的对象或者数组,但是 JSON.parse() 报错——因为给的字符串格式不对。

只要是正确的 JSON 字符串,都可以直接用 JSON.parse() 来解析生成对象/数组。如果是非标准 JSON 格式,但是合法的 JavaScript 对象/数组 字面量,可以用 eval() 来得到。如果都不是,怎么都得出错,那就按 @一只渴望飞翔的猪 说的,加 try...catch 来容错。

if( typeof someVar === 'object' ) {
    // Object
}
   
if( Object.prototype.toString.call( someVar ) === '[object Array]' ) {
   // Array
}

if (Array.isArray(someVar)) {
    // Array
}

instanceof 或者 something.constructor == Array

可以用 typeof 运算符。

伪命题啊,字符串么就是字符串,怎么会变成对象和数组 ...

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题