扫码关注官方订阅号
用JSON.parse会报错。。。
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
if( typeof someVar === 'object' ) { // Object } if( Object.prototype.toString.call( someVar ) === '[object Array]' ) { // Array } if (Array.isArray(someVar)) { // Array }
try...catch
我的理解你是想把一段 JSON 转换为 JS 的对象或者数组,但是 JSON.parse() 报错——因为给的字符串格式不对。
JSON.parse()
只要是正确的 JSON 字符串,都可以直接用 JSON.parse() 来解析生成对象/数组。如果是非标准 JSON 格式,但是合法的 JavaScript 对象/数组 字面量,可以用 eval() 来得到。如果都不是,怎么都得出错,那就按 @一只渴望飞翔的猪 说的,加 try...catch 来容错。
eval()
instanceof 或者 something.constructor == Array
可以用 typeof 运算符。
typeof
伪命题啊,字符串么就是字符串,怎么会变成对象和数组 ...
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
try...catch
我的理解你是想把一段 JSON 转换为 JS 的对象或者数组,但是
JSON.parse()报错——因为给的字符串格式不对。只要是正确的 JSON 字符串,都可以直接用
JSON.parse()来解析生成对象/数组。如果是非标准 JSON 格式,但是合法的 JavaScript 对象/数组 字面量,可以用eval()来得到。如果都不是,怎么都得出错,那就按 @一只渴望飞翔的猪 说的,加try...catch来容错。instanceof 或者 something.constructor == Array
可以用
typeof运算符。伪命题啊,字符串么就是字符串,怎么会变成对象和数组 ...