JSON 数组

JSON数组类似于JavaScript数组。

JSON数组表示值的有序列表。它可以将字符串,数字,布尔值或对象存储在JSON数组中。

JSON对象中的数组

数组可以是对象属性的值。

var myJSON = {
  "name":"Seagull",
  "age":22,
  "friends": [ "Deadpool", "Hulk", "Thanos" ]
}
测试看看 ‹/›

访问数组值

可以使用数组中每个元素的索引来访问数组值。

var myJSON = {
  "name":"Seagull",
  "age":22,
  "friends": [ "Deadpool", "Hulk", "Thanos" ]
}

myJSON.friends[2];  // returns "Thanos"
测试看看 ‹/›

遍历数组

for-in循环可用于遍历数组。

var myJSON = {
  "name":"Seagull",
  "age":22,
  "friends": [ "Deadpool", "Hulk", "Thanos" ]
}

for (let x in myJSON.friends) {
document.getElementById("output").innerHTML += myJSON.friends[x];
}
测试看看 ‹/›

JSON对象中的嵌套数组

在嵌套数组中,另一个数组也可以是一个数组的值。

var myJSON = {
  "name":"Seagull",
  "age":22,
  "friends": [
  { "heroName": "Deadpool", "skills": ["Martial artist", "Assassin"] },
  { "heroName": "Hulk", "skills": ["Superhuman Speed", "Superhuman Strength"] }, 
  { "heroName": "Thanos", "skills": ["Telepathy", "Superhuman senses"] }
  ] 
}

myJSON.friends[2].heroName;  // returns "Thanos"
测试看看 ‹/›

嵌套for-in循环可用于访问数组内部的数组。

for(let i in myJSON.friends) {
   x += "<h3>" + myJSON.friends[i].heroName + "</h3>";
   for(let j in myJSON.friends[i].skills) {
      x += myJSON.friends[i].skills[j] + "<br>";
   }
}

document.getElementById("output").innerHTML = x;
测试看看 ‹/›

修改数组值

索引号可用于值的修改。

myJSON.friends[2] = "Ant-man";
测试看看 ‹/›

删除数组项

可以使用delete关键字删除数组的值。

delete myJSON.friends[2];
测试看看 ‹/›