直接在JS里创建JSON数据然后遍历使用

使用JS创建JSON数据并遍历使用的攻略如下:

1. 创建JSON数据

我们可以使用JS中的对象(Object)来创建一个简单的JSON数据。创建JSON数据的关键是要按照JSON的格式来构造对象。

JSON格式中的数据类型包括:

  • 字符串 (string)
  • 数字 (number)
  • 布尔值 (boolean)
  • 数组 (array)
  • 对象 (object)
  • 空值 (null)

下面是一个简单的JSON对象示例:

let person = {
  "name": "John",
  "age": 30,
  "isEmployed": true,
  "hobby": ["swimming", "reading"],
  "address": {
    "city": "New York",
    "country": "USA"
  },
  "phoneNumbers": [
    {"type": "home", "number": "123-456-7890"},
    {"type": "work", "number": "987-654-3210"}
  ]
};

注意,JSON对象必须用花括号({})包围,属性名必须使用双引号(""),且值必须是字符串、数字、布尔值、数组、对象中的一种。

2. 遍历JSON数据

遍历JSON数据可以使用JS中的for-in循环或者通过使用Object.keys()函数获取键名数组来遍历。接下来我们使用一个示例来说明遍历JSON数据的过程。

假设我们有如下JSON对象:

let products = [
  {
    "id": 1,
    "name": "iPhone X",
    "price": 999,
    "stock": 10
  },
  {
    "id": 2,
    "name": "Samsung Galaxy S9",
    "price": 899,
    "stock": 5
  },
  {
    "id": 3,
    "name": "Huawei P20 Pro",
    "price": 799,
    "stock": 20
  }
];

我们可以使用for-in循环来遍历所有产品,并打印出每个产品的名称和价格:

for (let productIndex in products) {
  let product = products[productIndex];
  console.log(product.name + ": $" + product.price);
}

输出结果为:

iPhone X: $999
Samsung Galaxy S9: $899
Huawei P20 Pro: $799

我们也可以使用Object.keys()函数来获取键名数组,然后通过遍历数组获取到每个产品并打印出信息。

let productKeys = Object.keys(products);
for (let i = 0; i < productKeys.length; i++) {
  let productId = productKeys[i];
  let product = products[productId];
  console.log(product.name + ": $" + product.price);
}

输出结果同上。

3. 示例说明

下面再给出两个示例,分别演示如何创建和遍历JSON数据。

示例一:创建JSON数据

假设我们需要创建一个JSON对象,来表示一个人的信息,包括姓名、年龄、职业、家庭地址和联系方式。我们可以按照如下格式构造一个JSON对象:

let person = {
  "name": "Tom",
  "age": 30,
  "occupation": "Software Developer",
  "address": {
    "street": "123 Main St.",
    "city": "San Francisco",
    "state": "California",
    "zip": "94105"
  },
  "phoneNumbers": [
    {"type": "home", "number": "123-456-7890"},
    {"type": "work", "number": "987-654-3210"}
  ]
};

示例二:遍历JSON数据

假设我们有一个JSON数组,包含几部电影的信息,每部电影有名称、导演和主演三个属性。我们可以使用for-in循环遍历该数组并打印出每部电影的信息:

let films = [
  {
    "title": "The Godfather",
    "director": "Francis Ford Coppola",
    "star": "Marlon Brando"
  },
  {
    "title": "The Shawshank Redemption",
    "director": "Frank Darabont",
    "star": "Tim Robbins"
  },
  {
    "title": "The Dark Knight",
    "director": "Christopher Nolan",
    "star": "Christian Bale"
  }
];

for (let filmIndex in films) {
  let film = films[filmIndex];
  console.log(film.title + ", directed by " + film.director + ", starring " + film.star);
}

输出结果为:

The Godfather, directed by Francis Ford Coppola, starring Marlon Brando
The Shawshank Redemption, directed by Frank Darabont, starring Tim Robbins
The Dark Knight, directed by Christopher Nolan, starring Christian Bale

以上是使用JS创建JSON数据,及遍历JSON数据的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:直接在JS里创建JSON数据然后遍历使用 - Python技术站

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

相关文章

  • discuz中用到的javascript函数解析 原创第2/2页

    下面就是对于“discuz中用到的javascript函数解析 原创第2/2页”的完整攻略: 1. 概述 该文章介绍了 discuz 论坛中常用的 JavaScript 函数解析,主要包括 Ajax 交互、 DOM 操作以及事件处理等。 2. Ajax 交互 2.1 Ajax.call() 该函数用于发送 Ajax 请求,并接收服务器返回的 JSON 格式数…

    JavaScript 2023年6月10日
    00
  • JavaScript设计模式之模板方法模式原理与用法示例

    JavaScript设计模式之模板方法模式 简介 模板方法模式(Template Method Design Pattern)又称为模板模式,是一种行为型设计模式。在该模式中,定义一个操作中的算法骨架,而将一些步骤延迟到子类中实现。也就是说,在父类中定义好算法的骨架,具体实现留给子类去实现,这样就可以保证算法的整体流程在父类中控制,所有子类遵循相同的规则去按…

    JavaScript 2023年6月10日
    00
  • JS中如何轻松遍历对象属性的方式总结

    当我们需要遍历 JavaScript 对象的属性时,我们可以使用 for…in 循环、Object.keys() 方法或 Object.getOwnPropertyNames() 方法。 for…in 循环遍历对象属性 for…in 循环会遍历对象的所有可枚举属性,包括原型链上的属性。对于每个属性,for…in 循环会执行一次循环体中的代码。…

    JavaScript 2023年5月27日
    00
  • 酷炫jQuery全屏3D焦点图动画效果

    下面是 “酷炫jQuery全屏3D焦点图动画效果”的完整攻略: 1. 确定需求 在开始编写代码之前,首先需要明确你所要实现的功能和效果,比如,该全屏3D焦点图所需达成的效果,是否需要自动播放滚动、是否需要左右切换、是否需要鼠标移入暂停等。 2. 界面设计 在明确需求之后,需要设计和制作该全屏3D焦点图的样式和界面。重点要考虑的是,如何将图片排列在屏幕上,如何…

    JavaScript 2023年6月11日
    00
  • JS实现的进制转换,浮点数相加,数字判断操作示例

    JS实现的进制转换攻略: 对于进制转换,JS提供了parseInt和toString方法。其中parseInt方法可将其他进制的数字转换为十进制,toString方法可将十进制数字转换为其他进制。 示例说明1:将十六进制数字转换为十进制 let hex = "3A"; let dec = parseInt(hex, 16); consol…

    JavaScript 2023年5月28日
    00
  • javascript基础知识整理

    JavaScript 基础知识整理 简介 JavaScript 是一种轻量级的脚本语言,用于为网站添加交互性和响应式。它被广泛用于前端开发、后端开发以及移动应用程序开发。 本篇文章将对 JavaScript 的基础知识进行整理,希望可以让初学者快速掌握 JavaScript 的核心概念。 数据类型 JavaScript 中有七种基本数据类型:undefine…

    JavaScript 2023年5月27日
    00
  • 千万不要错过的JavaScript高效对比数组差异方法

    千万不要错过的JavaScript高效对比数组差异方法 在JavaScript编程中,我们常常需要对比两个数组之间的差异,找出其中共有和不同的部分。本文介绍了JavaScript中三种高效对比数组差异的方法,分别是使用ES5中Array的filter、ES6中的Set,以及lodash库中的difference方法。 1. 使用Array的filter方法 …

    JavaScript 2023年5月28日
    00
  • 原生JS中应该禁止出现的写法

    当使用原生JavaScript编写代码时,需要注意一些写法上的问题,避免引发不必要的错误或者性能问题。以下是几个应该禁止出现的写法。 1. 使用 document.write document.write 是一种在网页中输出HTML的方法,但是它的使用会破坏页面的结构,降低性能,还可能引起安全问题。当使用 document.write 时,浏览器会强制停止所…

    JavaScript 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部