我正在尝试使用以下代码解析通过json从Web服务返回的一些数据。
function getADData() { var strSearch = $('#txtSearch').val() var ajaxData = "{ 'PartNameString': '" + strSearch + "' }"; $.ajax({ type: "POST", url: "/Services/ActiveDirectoryInterop.asmx/SearchUsers", data: ajaxData, contentType: "application/json; charset=utf-8", dataType: "json", success:populateTable }); } function populateTable(result) { alert(result["d"].length); }
返回的数据是这个。
{"d":{"Columns":["UserID","Name","Email"],"Rows":[["U99999","Lees, Smith","someemail1@canfor.com"],["U99999","Lees, Mark","someemail1@canforpulp.com"],["99999","Lees, Bob","someemail1@canforpulp.com"],["U999999","Lees, John","someemail1@canforpulp.com"],["U999999","Lees, Jim","someemail1@canforpulp.com"]]}}
尽管jsut发出的警报返回未定义的内容。所以我知道我丢失了一些东西,这可能与JSON的嵌套有关。有人可以为我指出一些材料或代码的正确说明,这些材料或代码向我展示了如何遍历数据(如我所接收的数据)。
尝试以下方法:
alert(result.d.Columns.length);
继续读那个怪异的东西。