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];