如何从Json结果中获取数据集值

时间:2016-09-28 09:16:20

标签: javascript asp.net json

这里我将数据集作为Json结果返回。当我使用'$ .each'函数时,我没有得到值。

这是我的Javascript:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js">
</script>
<script>
  // TODO: Replace with the URL of your WebService app
  $(window).load(function () {
    var tableName="customtable.Testing";
    alert("Script Running");
    $.ajax({
      type: "POST",
      url: "/CMSPages/TestingService.asmx/GetAllCustomTableData",
      data: "{ 'customTableName': '" + tableName + "' }",
      dataType: "json",
      contentType: "application/json; charset=utf-8",
      success: function(data) {
        var results = data.d;
            $.each(results, function(i, result) {
             alert(result.ItemID);
            });
          },
          error: function (jqXHR, textStatus, errorThrown) {
            alert(jqXHR.responseText);     
          }
        });
  });
</script>

这是我的Json回复:

{"d":"{\"NewDataSet\": \r\n[\r\n{\"Table\": \r\n[\r\n{\"ItemID\":8,\"ItemGUID\":\"5ef65845-1910-4f71-be3e-c2c0a1e47105
\",\"ItemModifiedWhen\":\"\\/Date(1471582785000)\\/\",\"ItemOrder\":null,\"Email\":\"kewchang.lee@ucsf
.edu\",\"ItemCreatedWhen\":\"\\/Date(1471582785000)\\/\",\"ItemCreatedBy\":53,\"ItemModifiedBy\":53,
\"FirstName\":\"Kewchang\",\"LastName\":\"Lee\"}\r\n]\r\n}\r\n]\r\n}\r\n"}

2 个答案:

答案 0 :(得分:0)

尝试使用此功能代替每个功能

for (var key in result) {
    if (result.hasOwnProperty(key)) {
        alert(key + " -> " + result[key]);
    }
}

答案 1 :(得分:0)

似乎JSON结果不是数组。在尝试迭代之前,你应该检查结果是否实际上是一个数组。

if (Array.isArray(data.d)) {
    $.each(data.d, function (i, result) {

    });  
}
else {

}