如何遍历JSON数组?

时间:2016-11-15 06:28:59

标签: javascript arrays json

我是json,数组和对象的新手。所以这可能是一个非常微不足道的疑问。我有一个结构数组:




  [{
“A”:{“key11”:10,“key12”:20,“ key13“:30},
”B“:{”key21“:10,”key22“:20},
”C“:{”key31“:10,”key32“:20,” key33“:30,”key34“:40}
}]
  




我通过ajax调用访问数据:




  $。ajax({
 url:'somepath / fileName.json',
 dataType:'json',&#xA ; async:false,
 type:'get',
 success:function(data)
 {
 MyData = data;
},
错误: function(){
 alert(“error”);
}
});
  




现在我的MyData包含上述数据的Object。我需要访问A,B,C但我的问题是它是否可以使用位置访问它们?
请帮助。谢谢:)




1 个答案:

答案 0 :(得分:3)

根据您的问题标题,这是您使用$.each

遍历JavaScript数组的方式



var data = [{
    "A": {
      "key11": 10,
      "key12": 20,
      "key13": 30
    },
    "B": {
      "key21": 10,
      "key22": 20
    },
    "C": {
      "key31": 10,
      "key32": 20,
      "key33": 30,
      "key34": 40
    }
  }];


$.each(data, function() {
    $.each(this, function(outerkey, outervalue) {
        console.log(outerkey);
        $.each(this, function(innerkey, innervalue) {
            console.log(innerkey + '=' + innervalue);
        });
    });
});

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width">
  <title>JSON Traverse</title>
</head>
<script src="https://code.jquery.com/jquery-3.1.0.js"></script>
<body>
</body>
</html>
&#13;
&#13;
&#13;

如果您只想访问(A,B,C)

$.each(first, function(key, value) {
    $('#results').append("  " + key + " ");
});

如果您想要特定密钥并且您知道索引,那么您可以使用Object以及

var result = Object.keys(data[0]); 
console.log(result[0]); //this will return 'A'