📜  嵌套 json 数组 - Javascript (1)

📅  最后修改于: 2023-12-03 14:53:58.046000             🧑  作者: Mango

嵌套 JSON 数组 - JavaScript

JSON(JavaScript Object Notation)是一种常用的数据交换格式,它可读性高,易于使用和解析。在 JavaScript 中,可以通过嵌套 JSON 数组来表示复杂的数据结构。

表示方式

嵌套 JSON 数组是通过将一个 JSON 数组作为另一个 JSON 数组中的元素来实现的。例如,以下是一个包含嵌套 JSON 数组的示例:

[
  {
    "name": "John",
    "age": 30,
    "hobbies": ["reading", "swimming", "coding"],
    "friends": [
      {"name": "Tom", "age": 28},
      {"name": "Lisa", "age": 32}
    ]
  },
  {
    "name": "Mary",
    "age": 27
  }
]

在上面的示例中,hobbiesfriends 属性都是嵌套的 JSON 数组。hobbies 包含了字符串类型的元素,而 friends 包含了对象类型的元素。

访问方式

可以使用 JavaScript 中的 [] 运算符来访问嵌套 JSON 数组中的元素。例如,要访问上面示例中 John 的第二个爱好,可以使用以下代码:

let data = [
  {
    "name": "John",
    "age": 30,
    "hobbies": ["reading", "swimming", "coding"],
    "friends": [
      {"name": "Tom", "age": 28},
      {"name": "Lisa", "age": 32}
    ]
  },
  {
    "name": "Mary",
    "age": 27
  }
];

console.log(data[0].hobbies[1]); // 输出 "swimming"

上面的代码中,data[0].hobbies[1] 表示访问 data 数组中的第一个元素(即 John 对象)的 hobbies 属性的第二个元素(即 "swimming" )。

遍历方式

可以使用 JavaScript 中的 for 循环语句遍历嵌套 JSON 数组中的所有元素。例如,以下代码将遍历上面示例中的所有元素:

let data = [
  {
    "name": "John",
    "age": 30,
    "hobbies": ["reading", "swimming", "coding"],
    "friends": [
      {"name": "Tom", "age": 28},
      {"name": "Lisa", "age": 32}
    ]
  },
  {
    "name": "Mary",
    "age": 27
  }
];

for (let i = 0; i < data.length; i++) {
  console.log("Name:", data[i].name);
  console.log("Age:", data[i].age);
  
  // 遍历 hobbies 数组
  console.log("Hobbies:");
  for (let j = 0; j < data[i].hobbies.length; j++) {
    console.log("- " + data[i].hobbies[j]);
  }
  
  // 遍历 friends 数组
  console.log("Friends:");
  for (let j = 0; j < data[i].friends.length; j++) {
    console.log("- " + data[i].friends[j].name + " (" + data[i].friends[j].age + ")");
  }
}

上面的代码中,使用了两个嵌套的 for 循环语句分别遍历了 hobbiesfriends 数组。

总结

嵌套 JSON 数组是表示复杂数据结构的一种常见方式,它可以方便地存储和传输数据。在 JavaScript 中,可以使用 [] 运算符和 for 循环语句来访问和遍历嵌套 JSON 数组中的元素。