Javascript 有效JSON字符串上的JSON.parse错误

Javascript 有效JSON字符串上的JSON.parse错误,javascript,json,Javascript,Json,在控制台中使用此代码: > typeof(body) "string" > body "{author:"asd"}" > JSON.parse(body); VM2898:1 Uncaught SyntaxError: Unexpected token a in JSON at position 1 at JSON.parse (<anonymous>) >类型(主体) “字符串” >身体 {作者:“asd”} >JSON.parse(body)

在控制台中使用此代码:

> typeof(body)
   "string"

> body
   "{author:"asd"}"

> JSON.parse(body);
VM2898:1 Uncaught SyntaxError: Unexpected token a in JSON at position 1
at JSON.parse (<anonymous>)
>类型(主体)
“字符串”
>身体
{作者:“asd”}
>JSON.parse(body);
VM2898:1未捕获的语法错误:JSON中位置1处的意外标记a
在JSON.parse()处

为什么将字符串解析为JSON失败?对我来说似乎有效…

因为那不是有效的JSON。试试这个:

var body='{“author”:“asd”};

log(JSON.parse(body))所有属性名称都必须在JSON中引用。因为它无效。有效的JSON看起来像
{“author”:“asd”}
(属性名总是用双引号括起来)。好的,谢谢,一些在线解析器/验证器似乎接受没有引号的属性名valid JavaScript!=有效的JSON。为解析它的解析器提交错误报告。