JSON 数组


目录

    显示目录

这是一个 JSON 字符串:

'["Ford", "BMW", "Fiat"]'

JSON 字符串内部有一个 JSON 数组文字:

["Ford", "BMW", "Fiat"]

JSON 中的数组与 JavaScript 中的数组几乎相同。

在 JSON 中,数组值必须是字符串、数字、对象、数组、布尔类型 或

在 JavaScript 中,数组值可以是上述所有值,加上任何其他有效值 JavaScript 表达式,包括函数、日期和未定义。


JavaScript 数组

您可以从文字创建 JavaScript 数组

例子

myArray = ["Ford", "BMW", "Fiat"];

自己尝试一下 →

<!DOCTYPE html>
<html>
<body>
<h2>Creating an Array from a Literal</h2>
<p id="demo"></p>

<script>
const myArray = ["Ford", "BMW", "Fiat"];
document.getElementById("demo").innerHTML = myArray;
</script>

</body>
</html>

您可以通过解析 JSON 字符串来创建 JavaScript 数组

例子

myJSON = '["Ford", "BMW", "Fiat"]';
myArray = JSON.parse(myJSON);

自己尝试一下 →

<!DOCTYPE html>
<html>
<body>

<h2>Creating an Array from JSON</h2>
<p id="demo"></p>

<script>
const myJSON = '["Ford", "BMW", "Fiat"]';
const myArray = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myArray;
</script>

</body>
</html>

访问数组值

您可以通过索引访问数组值:

例子

myArray[0];

自己尝试一下 →

<!DOCTYPE html>
<html>
<body>

<h1>Access an Array by Index</h1>
<p id="demo"></p>

<script>
const myJSON = '["Ford", "BMW", "Fiat"]';
const myArray = JSON.parse(myJSON);
document.getElementById("demo").innerHTML = myArray[0];
</script>

</body>
</html>

对象中的数组

对象可以包含数组:

例子

{
"name":"John",
"age":30,
"cars":["Ford", "BMW", "Fiat"]
}

您可以通过索引访问数组值:

例子

myObj.cars[0];

自己尝试一下 →

<!DOCTYPE html>
<html>
<body>

<h2>Access Array Values</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"John", "age":30, "cars":["Ford", "BMW", "Fiat"]}';
const myObj = JSON.parse(myJSON);

document.getElementById("demo").innerHTML = myObj.cars[0];
</script>

</body>
</html>


循环遍历数组

您可以使用 for in 循环访问数组值:

例子

for (let i in myObj.cars) {
  
  x 
  += myObj.cars[i];
}

自己尝试一下 →

<!DOCTYPE html>
<html>
<body>

<h2>Looping an Array</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"John", "age":30, "cars":["Ford", "BMW", "Fiat"]}';
const myObj = JSON.parse(myJSON);

let text = "";
for (let i in myObj.cars) {
  text += myObj.cars[i] + ", ";
}

document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>

或者您可以使用 for 循环:

例子

 for (let i 
  = 0; i < myObj.cars.length; i++) {
  x 
  += myObj.cars[i];
}

自己尝试一下 →

<!DOCTYPE html>
<html>
<body>

<h2>Looping an Array</h2>
<p id="demo"></p>

<script>
const myJSON = '{"name":"John", "age":30, "cars":["Ford", "BMW", "Fiat"]}';
const myObj = JSON.parse(myJSON);

let text = "";
for (let i = 0; i < myObj.cars.length; i++) {
  text += myObj.cars[i] + ", ";
}

document.getElementById("demo").innerHTML = text;
</script>

</body>
</html>