Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JSON.parse在具有对象的数组上失败_Javascript_Json - Fatal编程技术网

Javascript JSON.parse在具有对象的数组上失败

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

在chrome中,使用以下代码

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浏览器中也会出现同样的错误,其他浏览器也会出现同样的错误。