javascript - 无法在 JavaScript 中访问 JSON 数组的值

标签 javascript arrays json

在我的 javascript 中,我试图从服务器的 JSON 文件中读取值。该文件包含一个对象数组,但我无法访问这些对象中的值。当我尝试此操作时,我的日志显示该值未定义。但是,当我尝试对数组中的对象进行字符串化时,它工作得很好。我做错了什么?

JSON 文件:

{
  "NETWORKS": [
    {
      "NETWORK": {
        "STARTDATE": "00:13:33:15:10:2015",
        "SSID": "Ziggo323_AC",
        "WPA": "YES",
        "WEP": "NO",
        "WPS": "YES",
        "OPEN": "NO",
        "WPATEST": {
          "DURATION": "3000",
          "DATE": "00:11:26:24:09:2015",
          "ATTEMPTS": "594",
          "STATUS": "FAILED"
        },
        "WPSTEST": {
          "DURATION": "2932",
          "DATE": "03:11:28:24:09:2015",
          "ATTEMPTS": "9",
          "STATUS": "PASSED"
        }
      }
    },
    {
      "NETWORK1": {
        "STARTDATE": "00:15:26:15:10:2015",
        "SSID": "FreeWiFi",
        "WPA": "NO",
        "WEP": "NO",
        "WPS": "NO",
        "OPEN": "YES"
      }
    }
  ]
}

JavaScript 函数

function LoadTestResults() {
  $.ajax({
    type: 'POST',
    url: 'GetJSON.php',
    data: "TestResults.json",
    dataType: "json",
    success: function (data) {
      var wpsDuration = data.NETWORKS[0];
      console.log(JSON.stringify(wpsDuration)); // output ={"NETWORK":{"STARTDATE":"00:13:33:15:10:2015" etc.
      console.log(wpsDuration.WPA); // output = undefined
    }
  });
}

最佳答案

尝试一下:

wpsDuration.NETWORK.WPA

或者使用循环:

for (var k in data.NETWORKS) {
  var network = data.NETWORKS[k];
  var networkKey = Object.keys(network).pop();

  console.log(networkKey, network[networkKey].WPA);
}

关于javascript - 无法在 JavaScript 中访问 JSON 数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33165128/

相关文章:

java - 如何从具有给定元素的数组生成随机 int?

javascript - 如何在 js Web 应用程序中获取音频或视频通话的记录? IE。如何将 MediaStream 路由到语音到文本 API

javascript - 如何访问 JavaScript 文件中的 Angular 范围变量

用于填充数组的 Javascript padStart 不起作用

java - 如何在映射到 Java 对象时忽略少量 JSON 元素

ios - 将 MTLModel 子类的嵌套数据结构序列化为 JSON

ajax - JSONP 是否被归类为 AJAX?

javascript - 固定元素在 WKWebkit 上移动

javascript - 层查询成功后立即显示信息窗口

php - 使用js调用php