我将数组发送到服务
[
{
"toppingid": "ABB934CB-EAB7-4863-B832-7F533DA08E2F",
"toppingname": "Default",
"toppingprice": "0.000000"
}
]
当我console.log
时,它显示如上。我在下面执行console.log
toppinglistforCart = [];
toppinglistforCart = request.body.toppinglist
console.log(toppinglistforCart);
但是当我尝试toppinglistforCart.length
时,它会因为一些特殊的原因而返回132。
如果我console.log(toppinglistforCart[0])
,则返回[
非常奇怪。其他人是否遇到过同样的问题?
感谢您的时间
答案 0 :(得分:1)
您的toppinglistforCart
变量似乎是一个字符串,长度为132.(它在较旧的IE中不起作用,但是)JS允许您使用topplinglistforCart[0]
语法访问字符串中的单个字符,类似于数组上相同语法如何访问单个数组项。
您需要解析字符串的JSON内容以创建对象:
toppinglistforCart = JSON.parse(request.body.toppinglist);
另请注意您的第一行:
toppinglistforCart = [];
...根本不需要 - 它将toppinglistforCart
设置为一个新的空数组,然后下一行将toppinglistforCart
设置为其他内容,以便抛弃空数组。