Javascript azure移动服务中的阵列长度问题
我正在向服务发送一个数组Javascript azure移动服务中的阵列长度问题,javascript,azure,express,azure-mobile-services,Javascript,Azure,Express,Azure Mobile Services,我正在向服务发送一个数组 [ { "toppingid": "ABB934CB-EAB7-4863-B832-7F533DA08E2F", "toppingname": "Default", "toppingprice": "0.000000" } ] 当Iconsole.log显示如上所示。我做如下的console.log toppinglistforCart = []; toppinglistforCart = r
[
{
"toppingid": "ABB934CB-EAB7-4863-B832-7F533DA08E2F",
"toppingname": "Default",
"toppingprice": "0.000000"
}
]
当Iconsole.log
显示如上所示。我做如下的console.log
toppinglistforCart = [];
toppinglistforCart = request.body.toppinglist
console.log(toppinglistforCart);
但当我尝试toppinglistforCart.length
时,由于某种特殊原因,它返回132
如果我做了console.log(toppinglistforCart[0])
,那么它返回的[
非常奇怪。是否有其他人遇到过同样的问题
感谢您的时间您的
toppinglistforCart
变量似乎是一个长度为132的字符串。(它在旧版IE中不起作用,但是)JS允许您使用toppinglistforCart[0]
语法访问字符串中的单个字符,类似于数组上的相同语法访问单个数组项的方式
您需要解析字符串的JSON内容以创建对象:
toppinglistforCart = JSON.parse(request.body.toppinglist);
还要注意,您的第一行:
toppinglistforCart = [];
…根本不需要-它将
toppinglistforCart
设置为一个新的空数组,但下一行将toppinglistforCart
设置为其他内容,以便丢弃空数组。有意义。谢谢:)