在我的应用程序中,我通过来自.aspx页面的ajax调用获取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 } ] }
我在http://jsonlint.com/的有效
中检查了这种格式当我试图读取像这样的数据长度时,从Javascript开始
for (var i = 1; i <= data.Table.length; i++)
data.Table.length
返回1并且循环仅运行一次,我不知道如何在json数据中获取对象数组的长度,以便循环可以继续直到结束。
请帮助
答案 0 :(得分:1)
这是因为您的Table对象包含只包含一个元素的数组。要获取您正在寻找的所有对象,请尝试以下方法:
for (var i = 1; i <= data.Table[0].length; i++)
然后你进入我表中的第一个元素,你将得到里面的孩子数。
希望这有帮助!
修改强>
抱歉,那是因为对象没有长度属性。请参阅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
答案 1 :(得分:0)