Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.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会失败,而eval()却能像符咒一样工作?_Javascript_Json_Node.js - Fatal编程技术网

Javascript 为什么JSON.parse会失败,而eval()却能像符咒一样工作?

Javascript 为什么JSON.parse会失败,而eval()却能像符咒一样工作?,javascript,json,node.js,Javascript,Json,Node.js,由于某种原因,当我尝试使用JSON.parse()时,这种格式化的JSON总是失败 JSON.parse失败,因为它只能处理JSON语法。您的字符串不是有效的JSON——它在您收到的错误消息中这样说 错误指向本部分的模式中的m: "subclass":13,modes:{"mode":458752, 你还遗漏了几句话;你可能想看看 eval执行作为字符串传入的JavaScript代码——就好像您在运行函数的地方用代码编写代码一样。由于您的字符串是有效的JavaScript,因此它可以正常工作

由于某种原因,当我尝试使用JSON.parse()时,这种格式化的JSON总是失败


JSON.parse
失败,因为它只能处理JSON语法。您的字符串不是有效的JSON——它在您收到的错误消息中这样说

错误指向本部分的
模式中的
m

"subclass":13,modes:{"mode":458752,
你还遗漏了几句话;你可能想看看



eval
执行作为字符串传入的JavaScript代码——就好像您在运行函数的地方用代码编写代码一样。由于您的字符串是有效的JavaScript,因此它可以正常工作。

,计数:229,堆栈:
结尾处的字符串在没有
的情况下是无效的JSON。
您的字符串没有正确地为JSON进行字符串化。parse to parse是因为它不是有效的JSON。投票以键入/不重复/对其他人以后没有用处的方式关闭。在JSON中,属性名称(键)必须使用双引号。您有
模式:{
(周围没有引号)。请参阅并在
模式
计数
堆栈
周围加上双引号,使其成为有效的JSON。@Amardepbhowmick
eval()
只是运行JS代码,它不是JSON解析器。@Amardepbhowmick我已经用解释更新了答案。
"subclass":13,modes:{"mode":458752,