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语言实现时区转换函数的实例

    C语言实现时区转换函数的实例 时区转换是编程中经常需要的一个功能。本文将为大家介绍如何使用C语言实现时区转换函数的实例,帮助大家快速掌握时区转换的实现方法。 什么是时区转换? 时区转换是将一个时间从一个时区转换到另一个时区的过程。由于地球是由多个时区组成的,因此如果在不同的时区中,同一时间点实际上在时钟上会显示不同的时间。时区转换可以让我们方便地在不同的时区…

    C 2023年5月23日
    00
  • 如何用PyPy让你的Python代码运行得更快

    如何用 PyPy 让你的 Python 代码运行得更快 PyPy是一个相对于标准CPython实现的替代Python解释器。它使用即时编译(JIT)来加速Python代码的运行速度,并能够提供比CPython更好的垃圾回收和内存管理。 以下是使用PyPy优化Python代码的步骤: 步骤1:安装PyPy 在 PyPy 官方网站(https://www.pyp…

    C 2023年5月22日
    00
  • C语言实现简单班级成绩管理系统

    C语言实现简单班级成绩管理系统 本文将详细讲解如何使用C语言实现班级成绩管理系统,包括创建数据结构、实现各种功能以及存储数据等。下面将详细介绍具体的步骤。 步骤一:创建数据结构 首先,要创建一个数据结构来存储学生的信息。这个数据结构应该包含以下信息: 学生ID 学生姓名 数学成绩 语文成绩 英语成绩 平均分 例如,可以使用以下代码来创建这个数据结构: str…

    C 2023年5月23日
    00
  • C/C++ Qt 数据库与TableView实现多组件联动

    下面我将为你详细讲解如何使用 C/C++ Qt 实现数据库和 TableView 的联动。 准备工作 在开始之前,我们需要先准备好以下工具和环境: Qt:这是一个跨平台的 C++ 应用程序开发框架,我们将使用 Qt 来开发我们的程序。 MySQL:一个关系型数据库管理系统,我们将使用它来存储和管理我们的数据。 Qt Creator:这是一个供 Qt 开发者使…

    C 2023年5月22日
    00
  • win11系统快捷键大全 附详细功能介绍

    下面是针对“win11系统快捷键大全 附详细功能介绍”的完整攻略: Win11系统快捷键大全 基础快捷键 Win键:打开/关闭“开始”菜单 Win+D:显示/隐藏桌面 Win+E:打开资源管理器 Win+L:锁定计算机 Win+S:打开搜索面板 Ctrl+C:复制所选内容 Ctrl+V:粘贴上复制的内容 Ctrl+A:选中所有内容 Ctrl+Z:撤销上一页操…

    C 2023年5月23日
    00
  • C++实现蓝桥杯竞赛题目—搭积木

    C++实现蓝桥杯竞赛题目—搭积木的完整攻略 题目描述 假设你们班有很多童鞋正在参加蓝桥杯竞赛,老师突然想了个好玩的游戏:大家一起来玩搭积木,规则如下:每个学生手里都有 $n$ 个积木,编写程序按照如下规则输出: 第一行输出所有积木的高度和; 第二行将所有积木按高度升序输出; 第三行将所有积木按高度降序输出; 第四行随机输出所有积木。 程序实现 首先,因为…

    C 2023年5月23日
    00
  • php实现json编码的方法

    下面是关于php实现json编码的方法的详细攻略。 一、什么是json JSON是JavaScript对象表示法的缩写,是一种轻量级数据交换格式。它的特点是易于阅读和编写,同时也易于机器的解析和生成,能够更好的提高网络传输效率。 常见的JSON数据格式如下所示: { "name": "张三", "age&qu…

    C 2023年5月23日
    00
  • C/C++ 恨透了 double free or corruption

    *以下内容为本人的学习笔记,如需要转载,请声明原文链接 微信公众号「ENG八戒」https://mp.weixin.qq.com/s/IwSVImp5cOB3gZbaf0YiPw 写过 C/C++ 的都知道,内存允许程序员自主分配,用完了这些资源也得释放出来,这种在系统运行过程中动态申请的内存,称为动态内存。 常言道,借东西好借好还,下次再借也不难,但是有的…

    C语言 2023年4月18日
    00
合作推广
合作推广
分享本页
返回顶部