Ajax调用中的数据长度

length of data in Ajax call

本文关键字:数据 调用 Ajax      更新时间:2023-09-26

在我的应用程序中,我通过ajax调用从。aspx页面获取Json数据

json数据格式如下

<>之前{"表":[{"id":911年,"源":"印度","桌子":"果","能力":24000年,"h1":400年,"h1At":7,"h1Dt":8"氢气":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日"类推":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数据内对象数组的长度,以便循环可以继续直到结束。

请帮

这是因为您的Table对象包含一个只有一个元素的数组。要获得您正在寻找的所有对象,请尝试这样做:

for (var i = 1; i <= data.Table[0].length; i++)

然后进入Table的第一个元素你会得到里面的子元素个数

希望这对你有帮助!

编辑

抱歉,这是因为对象没有长度属性。请参考这个线程在StackOverflow, jQuery ajax json响应有长度未定义和不正确的数据

如果你想循环所有的对象,试试这个,

for (var obj in data.Table[0])
    console.log(obj) // Do something with your object

您需要在获得数据长度之前解析来自页面的数据

通过使用$.parseJson()方法我认为

那么下面的url解释了解决方案

使用jQuery读取JSON数据