什么原因导致第三行出现此错误?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; 因此错误。
三国纷争
TA贡献1804条经验 获得超7个赞
看来你想要对对象进行字符串化。这样做:
JSON.stringify(products);
究其原因,错误是JSON.parse()需要一个String值,products是一个Array。
注:我认为它会尝试json.parse('[object Array]')这会抱怨没想到令牌o后[。
添加回答
举报
0/150
提交
取消