JS循环遍历JSON数据的方法

以下是详细的讲解"JS循环遍历JSON数据的方法"的完整攻略:

1. 解析JSON数据

在JS中,可以通过JSON.parse将字符串转换为JSON对象,也可以直接将JSON数据引入JS文件中,得到一个JSON对象。解析成功后,我们即可对JSON数据进行操作。

1.1 解析字符串为JSON对象

const jsonData = '{"name": "Lucy", "age":26, "job": "developer"}';
const jsonObj = JSON.parse(jsonData);
console.log(jsonObj); 
/*
输出:{
  name: 'Lucy',
  age: 26,
  job: 'developer'
}
*/

1.2 引入JSON数据,得到JSON对象

可以通过简单地将JSON数据引入到JS文件中来获取JSON对象,以下是一个示例:

// data.json文件内容
{
  "name": "Tom",
  "age": 33,
  "job": "manager",
  "hobby": [
    "travel",
    "music"
  ],
  "location": {
    "province": "Guangdong",
    "city": "Guangzhou"
  }
}
// 引入data.json文件
import data from './data.json'; 
console.log(data);
/*
{
  name: 'Tom',
  age: 33,
  job: 'manager',
  hobby: [ 'travel', 'music' ],
  location: { province: 'Guangdong', city: 'Guangzhou' }
}
*/

2. 遍历JSON数据

在得到JSON对象后,我们需要进行遍历操作,以获得其中所需的数据。

2.1 for...in循环

for...in语句可以遍历JSON对象中所有可枚举属性,并进行操作。

const person = {name: 'Lucy', age: 26, job: 'developer'};
for (let key in person) {
  console.log(`${key}: ${person[key]}`);
}
/*
输出:
name: Lucy
age: 26
job: developer
*/

2.2 forEach方法

使用forEach方法可以遍历JSON中的数组部分。

const arr = [1, 2, 3, 4, 5];
arr.forEach(item => console.log(item)); // 输出:1 2 3 4 5

对于JSON中的数组部分,也可以通过forEach方法进行遍历:

const data = {
  "hobby": ["travel", "music", "reading"]
};
data.hobby.forEach(item => console.log(item)); 
// 输出: travel music reading

3. 其他操作

除了上述两种遍历方法以外,可以根据所需操作,使用其它方法。以下是一些常用操作:

3.1 根据属性名获取对应值

const person = {name: 'Lucy', age: 26, job: 'developer'};
console.log(person.name); // 输出:Lucy

// 或者使用[]语法获取属性值
console.log(person['job']); // 输出:developer

3.2 将JSON对象转化为数组

可以使用Object.keys将JSON对象转化为数组。

const person = {name: 'Lucy', age: 26, job: 'developer'};
const arr = Object.keys(person).map(key => person[key]);
console.log(arr); // 输出:[ 'Lucy', 26, 'developer' ]

示例

在以下示例中,我们得到一个JSON对象,其中包含了一些城市信息。我们需要遍历其中的所有城市,并输出其名称和人口数量。

// city.json文件内容示例
{
  "Beijing": {"population": 21550000, "area": 16411},
  "Shanghai": {"population": 24203000, "area": 6341},
  "Guangzhou": {"population": 14493000, "area": 7434},
  "Shenzhen": {"population": 13035000, "area": 1996},
  "Chongqing": {"population": 30752000, "area": 82400}
}
// 引入city.json文件
import cityData from './city.json';
for (let key in cityData) {
  console.log(`city: ${key}, population: ${cityData[key].population}`);
}
/*
输出:
city: Beijing, population: 21550000
city: Shanghai, population: 24203000
city: Guangzhou, population: 14493000
city: Shenzhen, population: 13035000
city: Chongqing, population: 30752000
*/

另一个示例:我们将一个由多个JSON数据组成的数据集合进行遍历,并输出所需的内容。

// data.json文件内容示例
{
  "data": [
    {
      "id": "001",
      "name": "Tom",
      "age": 28,
      "city": "Shanghai",
      "hobby": ["reading", "swimming"]
    },
    {
      "id": "002",
      "name": "Lucy",
      "age": 31,
      "city": "Beijing",
      "hobby": ["travel", "music", "shopping"]
    }
  ]
}
// 引入data.json文件
import data from './data.json';
const {data: dataList} = data;
dataList.forEach(item => {
  console.log(`Name: ${item.name}, Age: ${item.age}, Hobby: ${item.hobby}`);
});
/*
输出:
Name: Tom, Age: 28, Hobby: reading,swimming
Name: Lucy, Age: 31, Hobby: travel,music,shopping
*/

以上就是关于"JS循环遍历JSON数据的方法"的完整攻略了。希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS循环遍历JSON数据的方法 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • C++ com编程学习详解

    C++ COM编程学习详解攻略 什么是COM? COM(Component Object Model)是一种面向对象的软件组件技术,主要用于在不同的应用程序之间通信。使用COM,你可以编写可重用的软件组件,这些组件可以跨越不同的编程语言,操作系统和网络。COM最初是由Microsoft开发的。 学习COM的前提条件 了解C++语言,并熟练掌握面向对象编程。 …

    C 2023年5月22日
    00
  • PHP数组对象与Json转换操作实例分析

    PHP数组对象与Json转换操作实例分析 什么是PHP数组对象? 在PHP中,数组是一种集合类型,用于存储多个值。这些值可以是任何数据类型,包括字符串、数字、对象等。数组可以是索引数组或关联数组。 索引数组是基于数字索引的集合,每个元素都有一个数字索引。按照数组中定义元素的顺序分配索引。 关联数组是基于键的集合,每个元素都与一个指定的键关联。键可以是数字或字…

    C 2023年5月23日
    00
  • C语言实现简单的抽奖系统

    下面是“C语言实现简单的抽奖系统”的完整攻略: 1. 设计思路 抽奖系统需要具备以下功能: 输入参加抽奖的人员名单。 随机抽取中奖者。 输出中奖者名单。 因此我们需要设计以下几个模块: 输入模块:获取所有参与抽奖的人名,并保存在数组中。 抽奖模块:使用随机数生成器,在参与抽奖的人员数组中随机选择一个中奖者。 输出模块:将中奖者的名字输出。 2. 代码实现 下…

    C 2023年5月23日
    00
  • 在C/C++语言中使用正则表达式

    当我们需要在C或C++程序中进行字符串匹配时,可以使用正则表达式来完成。下面是使用C和C++语言中的正则表达式的详细攻略。 步骤1:包含正则表达式库的头文件 在C++程序中使用正则表达式需要包含 <regex> 头文件,在C程序中使用需要包含 <regex.h> 头文件。 步骤2:定义一个正则表达式对象 在C++中使用 regex 类…

    C 2023年5月23日
    00
  • win10回收站右键有2个“CCleaner”怎么删除?

    针对“win10回收站右键有2个‘CCleaner’怎么删除?”这个问题,我们可以采取以下解决办法: 1.使用CCleaner工具进行修复 如果在安装或者卸载CCleaner软件时,出现了错误并导致出现两个CCleaner选项,我们可以使用CCleaner工具进行修复。 步骤如下: 1) 首先下载最新版的CCleaner软件并安装; 2) 进入CCleane…

    C 2023年5月23日
    00
  • 详解C语言中sizeof如何在自定义函数中正常工作

    当在C语言中定义一个结构体或是自定义的类型时,可以使用sizeof关键字来计算该类型所占的字节数。但是,在自定义函数中使用sizeof有些时候可能不会正常工作,这是由于sizeof是在编译时计算的,而不是运行时计算的。 为了解决这个问题,我们可以使用指针来传递数据。我们可以将指针的大小视为常量,这样在编译时就可以正确计算大小。下面,我来详细讲解在自定义函数中…

    C 2023年5月23日
    00
  • C语言归排与计排深度理解

    C语言归排与计排深度理解 什么是排序算法? 排序算法是计算机程序设计中最常见的问题之一。排序算法是一种将输入元素按特定顺序排列的算法。排序算法分为内部排序和外部排序:- 对于内存(内部)排序,其输入和输出均存储在计算机内存中。- 对于外存(外部)排序,其输入或输出涉及到显式的输入/输出操作,通常通过磁带、磁盘或因特网进行数据传输和存储。 本篇文档主要介绍内部…

    C 2023年5月23日
    00
  • Android中Json数据读取与创建的方法

    下面是关于Android中Json数据读取与创建的完整攻略: 什么是Json JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,与XML类似,但是更为简洁、易于理解和阅读。它是一种以键值对的形式组织的数据,可以表示复杂的层次结构。 在Android中解析Json 在Android中 Json 数据通常是由网络获取到的…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部