Javascript JSON.parse在具有对象的数组上失败
在chrome中,使用以下代码Javascript JSON.parse在具有对象的数组上失败,javascript,json,Javascript,Json,在chrome中,使用以下代码 JSON.parse('[ "Rectangle", { width: 10 } ]') 扔给我一个 SyntaxError: Unexpected token w Internet Explorer 11.0.9600具有类似的行为:无效字符 根据的定义,这种语法显然是允许的,可以归结为包含两个元素的数组:一个字符串矩形和一个具有单个属性宽度及其值10的对象 有什么问题吗?在JSON中,对象键是字符串,因此需要在其周围加引号 JSON.parse('[ "R
JSON.parse('[ "Rectangle", { width: 10 } ]')
扔给我一个
SyntaxError: Unexpected token w
Internet Explorer 11.0.9600具有类似的行为:无效字符
根据的定义,这种语法显然是允许的,可以归结为包含两个元素的数组:一个字符串矩形和一个具有单个属性宽度及其值10的对象
有什么问题吗?在JSON中,对象键是字符串,因此需要在其周围加引号
JSON.parse('[ "Rectangle", { "width": 10 } ]')
在JSON中,对象键是字符串,因此需要在其周围加引号
JSON.parse('[ "Rectangle", { "width": 10 } ]')
另一个选项是首先将其转换为正确的JSON:
let obj = ["Rectangle",{ width: 10 }];
obj = JSON.parse(JSON.stringify(obj));
另一个选项是首先将其转换为正确的JSON:
let obj = ["Rectangle",{ width: 10 }];
obj = JSON.parse(JSON.stringify(obj));
阿萨德是对的。仅供参考,同样的错误在Chrome中也会出现,在其他浏览器中也会出现。Asad是正确的。仅供参考,Chrome浏览器中也会出现同样的错误,其他浏览器也会出现同样的错误。