为了账号安全,请及时绑定邮箱和手机立即绑定

Uncaught SyntaxError:带有JSON.parse的意外标记

Uncaught SyntaxError:带有JSON.parse的意外标记

阿晨1998 2019-08-31 11:09:33
什么原因导致第三行出现此错误?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打开控制台以查看错误
查看完整描述

3 回答

?
肥皂起泡泡

TA贡献1829条经验 获得超6个赞

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


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


您的代码将对象转换为字符串(通过调用.toString()),以尝试将其解析为JSON文本。

默认.toString()返回"[object Object]",这是无效的JSON; 因此错误。


查看完整回答
反对 回复 2019-08-31
?
三国纷争

TA贡献1804条经验 获得超7个赞

看来你想要对对象进行字符串化。这样做:


JSON.stringify(products);

究其原因,错误是JSON.parse()需要一个String值,products是一个Array。


注:我认为它会尝试json.parse('[object Array]')这会抱怨没想到令牌o后[。


查看完整回答
反对 回复 2019-08-31
  • 3 回答
  • 0 关注
  • 1008 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信