一尘不染

未捕获的SyntaxError:带有JSON.parse的意外令牌

javascript

是什么导致第三行出现此错误?

var products = [{

  "name": "Pizza",

  "price": "10",

  "quantity": "7"

}, {

  "name": "Cerveja",

  "price": "12",

  "quantity": "5"

}, {

  "name": "Hamburguer",

  "price": "10",

  "quantity": "2"

}, {

  "name": "Fraldas",

  "price": "6",

  "quantity": "2"

}];

console.log(products);

var b = JSON.parse(products); //unexpected token o

打开控制台以查看错误


阅读 200

收藏
2020-05-01

共1个答案

一尘不染

products是一个对象。(从对象文字创建)

JSON.parse()用于将包含JSON表示法的 字符串 转换为Javascript对象。

您的代码将对象转换为字符串(通过调用.toString()),以尝试将其解析为JSON文本。
默认.toString()返回"[object Object]",这是无效的JSON;因此错误。

2020-05-01