在我的应用程序中,我通过 ajax 调用从 .aspx 页面获取 Json 数据
json数据格式是这样的
{ "Table": [ { "id": 911, "source": "Vishakhapatnam", "dest": "Goa", "capacity": 24000, "h1": 400, "h1At": 7, "h1Dt": 8, "h2": 401, "h2At": 9, "h2Dt": 9.3, "h3": 402, "h3At": 12, "h3Dt": 12.3, "h4": 403, "h4At": 14.3, "h4Dt": 15, "h5": 404, "h5At": 16, "h5Dt": 17, "h6": 405, "h6At": 18, "h6Dt": 19, "h7": 406, "h7At": 19.3, "h7Dt": 20, "h8": 407, "h8At": 21, "h8Dt": 21.3, "h9": 408, "h9At": 22, "h9Dt": 22.1, "h10": 409, "h10At": 23, "h10Dt": 24 } ] }
i checked this format in http://jsonlint.com/ its valid
From Javascript when i am trying to read the length of the data like this
for (var i = 1; i <= data.Table.length; i++)
data.Table.length
返回 1 并且循环仅运行一次,我不知道如何获取 json 数据内对象数组的长度,以便循环可以继续直到结束。
请帮忙
最佳答案
这是因为您的 Table 对象包含一个只有一个元素的数组。要获取您正在寻找的所有对象,请尝试以下操作:
for (var i = 1; i <= data.Table[0].length; i++)
然后你进入 Table 的第一个元素,你会得到里面的子元素的数量。
希望这有帮助!
编辑
抱歉,那是因为对象没有长度属性。请参阅 StackOverflow 上的此线程,jQuery ajax json response has length undefined and incorrect data
如果你想循环所有对象,试试这个,
for (var obj in data.Table[0])
console.log(obj) // Do something with your object
关于javascript - Ajax 调用中的数据长度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16337106/