是什么导致了第三行上的错误?
Var product = [{ “名称”:“披萨”, “价格”:“10”, “数量”:“7” },{ “名称”:“Cerveja”, “价格”:“12”, “数量”:“5” },{ “名称”:“汉堡”, “价格”:“10”, “数量”:“2” },{ “名称”:“Fraldas”, “价格”:“6”, “数量”:“2” }); console.log(产品); var b = JSON.parse(products);//意外令牌o
打开控制台以查看错误
是什么导致了第三行上的错误?
Var product = [{ “名称”:“披萨”, “价格”:“10”, “数量”:“7” },{ “名称”:“Cerveja”, “价格”:“12”, “数量”:“5” },{ “名称”:“汉堡”, “价格”:“10”, “数量”:“2” },{ “名称”:“Fraldas”, “价格”:“6”, “数量”:“2” }); console.log(产品); var b = JSON.parse(products);//意外令牌o
打开控制台以查看错误
当前回答
如果有前导空格或尾随空格,则无效。 后面和前面的空格可以被删除为
mystring = mystring.replace(/^\s+|\s+$/g, "");
删除字符串的前导或尾随空格
其他回答
似乎您想要对对象进行字符串化,而不是解析。所以这样做:
JSON.stringify(products);
错误的原因是JSON.parse()期望一个String值,而products是一个Array。
注意:我认为它尝试json。parse('[object Array]'),它会抱怨在[后面没有token o。
它可能发生的原因有很多,但可能是一个无效的字符,所以你可以使用JSON.stringify(obj);它会将对象转换为JSON,但请记住它是一个jQuery表达式。
我所犯的错误是将null(不知情)传递给JSON.parse()。
所以它在JSON的0号位置抛出了意外令牌n。
但是当你在JSON.parse()中传递一些不是JavaScript对象的东西时,就会发生这种情况。
[
{
"name": "Pizza",
"price": "10",
"quantity": "7"
},
{
"name": "Cerveja",
"price": "12",
"quantity": "5"
},
{
"name": "Hamburguer",
"price": "10",
"quantity": "2"
},
{
"name": "Fraldas",
"price": "6",
"quantity": "2"
}
]
下面是您可以解析的完美JSON内容。
使用eval。它将JavaScript表达式/代码作为字符串,并计算/执行它。
eval(inputString);