浅谈json取值(对象和数组)

浅谈JSON取值(对象和数组)

JSON介绍

JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于JavaScript的语法,但是JSON数据可以被其他编程语言解析和生成。JSON的数据结构是一种"键-值"的数据类型集合,类似于JavaScript中的对象,但是JSON没有方法。JSON通过JavaScript中的eval()函数进行解析,也可以使用JSON.parse()。

JSON对象

JSON对象是由一系列键值对组成的,键值对之间用逗号分隔,整个JSON对象用花括号包裹。如下所示:

{
  "name": "Lucy",
  "age": 18,
  "gender": "female"
}

JSON数组

JSON数组是由一组值组成的,值之间用逗号分隔,整个JSON数组用中括号包裹。如下所示:

[10, 20, 30, 40, 50]

JSON取值操作

JSON对象取值

取出JSON对象的某个键对应的值,可以使用对象名加点号再加上键名的方式进行取值,如下所示:

const obj = {
  "name": "Lucy",
  "age": 18,
  "gender": "female"
}
console.log(obj.name) // Lucy
console.log(obj.age)  // 18
console.log(obj.gender)  // female

JSON数组取值

1. 取出JSON数组中某个索引对应的值

取出JSON数组中某个索引对应的值,可以使用数组名加中括号再加上索引值的方式进行取值,如下所示:

const arr = [10, 20, 30, 40, 50]
console.log(arr[0]) // 10
console.log(arr[2]) // 30
console.log(arr[4]) // 50

2. 将JSON数组转换为普通数组

将JSON数组转换为普通数组,可以使用JSON.parse()函数进行转换,如下所示:

const jsonArr = '[10, 20, 30, 40, 50]'
const arr = JSON.parse(jsonArr)
console.log(arr) // [10, 20, 30, 40, 50]

示例说明

示例1

以下是一个包含JSON对象和JSON数组的示例:

{
  "name": "Lucy",
  "age": 18,
  "gender": "female",
  "interests": [
    "reading",
    "music",
    "travelling"
  ]
}

我们可以使用如下代码取出gender键对应的值,以及interests数组中的第二个元素。

const json = '{"name":"Lucy","age":18,"gender":"female","interests":["reading","music","travelling"]}'
const obj = JSON.parse(json)
console.log(obj.gender)     // female
console.log(obj.interests[1]) // music

示例2

以下是将一个普通数组转换为JSON数组的示例:

const arr = [1, 2, 3, 4, 5]
const jsonArr = JSON.stringify(arr)
console.log(jsonArr) // [1,2,3,4,5]

我们将普通数组[1, 2, 3, 4, 5]使用JSON.stringify()函数转换为了JSON数组。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:浅谈json取值(对象和数组) - Python技术站

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

相关文章

  • 一篇文章带你了解Java SpringBoot四大核心组件

    一篇文章带你了解Java Spring Boot四大核心组件 Java Spring Boot 是一款快速开发 Web 应用的框架,它提供了很多优秀的解决方案以方便我们快速构建一个可部署、高可扩展、易于维护的应用程序。在 Spring Boot 之中,有四大核心组件,它们是 Spring MVC、Spring Data JPA、Spring Security…

    Java 2023年5月15日
    00
  • 一文讲解如何优雅的调试jar包

    一文讲解如何优雅地调试jar包 在开发过程中,我们经常会用到jar包来提供或使用某些功能,而在使用过程中,有时需要调试jar包中的代码,以定位或解决问题。本文将介绍如何优雅地调试jar包,以提高我们的开发效率。 1. 使用源码依赖 当我们使用某些jar包时,如果其提供了源码,我们可以将其作为项目的依赖包,这样就可以在IDE中直接调试jar包源码了。 具体步骤…

    Java 2023年5月26日
    00
  • Angularjs实现多图片上传预览功能

    下面是关于AngularJS实现多图片上传预览功能的详细攻略: 1. 环境准备 在开始实现多图片上传预览功能前,需要确保以下环境已准备好: AngularJS框架; HTML和CSS基本知识; 文件上传插件jQuery File Upload; 一些基本的javascript和jQuery知识。 2. 实现步骤 第1步:引入jQuery和AngularJS框…

    Java 2023年6月15日
    00
  • Java基于Dijkstra算法实现校园导游程序

    Java基于Dijkstra算法实现校园导游程序攻略 1. 确定算法 首先,我们需要确定使用什么算法来实现校园导游程序,此处我们选择使用Dijkstra算法。 Dijkstra算法是一种用于带权图的单源最短路径算法,可以帮助我们找到两点之间的最短路径。在本程序中,我们需要将所有景点看作节点,将各个景点之间的距离看作边权,应用Dijkstra算法求解距离最短的…

    Java 2023年5月19日
    00
  • SpringMVC KindEditor在线编辑器之文件上传代码实例

    下面我就针对“SpringMVC KindEditor在线编辑器之文件上传代码实例”的完整攻略进行详细的讲解: 具体操作步骤 步骤一:引入相关依赖 在SpringMVC项目的pom.xml文件中加入以下代码: <!– 文件上传依赖 –> <dependency> <groupId>commons-fileupload&…

    Java 2023年6月2日
    00
  • Java将CSV的数据发送到kafka的示例

    下面是Java将CSV的数据发送到kafka的示例的详细攻略: 准备工作 首先,在本地安装kafka和创建一个名为test的topic。同时,在项目中引入以下依赖库: <dependencies> <dependency> <groupId>org.apache.kafka</groupId> <arti…

    Java 2023年5月20日
    00
  • js如何设置在iframe框架中指定div不显示

    使用JavaScript直接在iframe中指定div不显示的方法: 在iframe框架中使用JavaScript来控制指定div元素的display属性,让其不显示。可以使用以下的代码实现: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"&…

    Java 2023年6月16日
    00
  • Java编程之jdk1.4,jdk1.5和jdk1.6的区别分析(经典)

    Java编程之jdk1.4,jdk1.5和jdk1.6的区别分析(经典)攻略 1. JDK1.4、JDK1.5、JDK1.6的简介 Java Development Kit(JDK)是Java的核心开发工具包,它包含了Java编译器、运行时环境和Java类库(JDK1.6及以下版本)或Java类库和JavaFX SDK(JDK1.7及以上版本)。JDK版本的…

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