如何获取 Ajax 对象的长度

how to get length of an ajax object

本文关键字:对象 Ajax 何获取 获取      更新时间:2023-09-26

我想获取'obj'对象的长度,以便我可以用它做一个for循环,这是我的代码:

var oRequest = new XMLHttpRequest();
var sURL = "/Users/files/Documents/time.json";
oRequest.open("GET",sURL,false);
oRequest.send();
var txt = oRequest.responseText;
var obj = eval ("(" + txt + ")");

我的目标是我想将 this.json 文件中的所有内容输出到屏幕上。

这是我的 json 文件的样子:

{
"employees": [
{ "firstName":"John" , "lastName":"Doe" }, 
{ "firstName":"Anna" , "lastName":"Smith" }, 
{ "firstName":"Peter" , "lastName":"Jones" }
]
}

您创建的对象没有长度。我假设你的意思是员工长度而不是对象长度

喜欢这个:

现场演示

var txt = oRequest.responseText;
// eval("var obj = "+txt); // eval is not recommended but here is how
var obj = JSON.parse(txt); // this is better
var emp = obj?obj.employees:[]; // if we have a useful object, get the employees
window.onload=function() {
  var empDiv = document.getElementById("empDiv");
  for (var i=0;i<emp.length;i++) {
    empDiv.innerHTML+=emp[i].firstName + " "+ emp[i].lastName + '<br/>';
  }
}

您不必获取长度即可对对象执行 for 循环,根据您的对象结构,您可以通过以下循环获取数据:

for(var key in object) {
   var o = object[key];
   for(var i = 0; i < o.length; i++)  {
      var user = o[i];
      alert(user.firstName);
   }
}