浅谈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日

相关文章

  • jsp下页面跳转的几种方法小结

    JSP下页面跳转的几种方法小结 1. 概述 在开发JSP应用程序的过程中,页面跳转是经常需要用到的功能。本文将介绍JSP下页面跳转的几种方法,包括: 使用超链接跳转 使用表单提交数据并跳转 使用Java中的Response对象实现跳转 使用Java中的RequestDispatcher对象实现跳转 2. 使用超链接跳转 超链接跳转是最常用的方法之一,在HTM…

    Java 2023年6月15日
    00
  • Java的DataInputStream和DataOutputStream数据输入输出流

    DataInputStream和DataOutputStream是Java中常用的数据输入输出流,它们提供了一种用于串行化和反串行化基本java数据类型的方法。在处理二进制数据时,这两个类可以很好的对数据进行读和写操作。下面就来详细讲解这两个输入输出流的使用。 DataInputStream DataInputStream是一种基于字节流的数据输入流。在使用…

    Java 2023年5月26日
    00
  • Java构建乘积数组的方法

    Java构建乘积数组的方法可以通过使用常规的算法实现。假设给定一个长度为n的整数数组,要求构建一个长度为n的数组,其中的每个元素都是原始数组中除该元素外所有元素的乘积。实现这个算法的时候,可以按照以下步骤进行: 创建两个辅助数组leftProduct和rightProduct,它们的长度都是n。 对leftProduct数组进行初始化,使得leftProdu…

    Java 2023年5月26日
    00
  • SpringBoot数据访问自定义使用Druid数据源的方法

    下面是完整攻略: 1. 什么是Druid数据源 Druid是阿里巴巴开源的数据库连接池,也是一个数据源的实现类,它集成了多个功能,包括连接池、应用层监控、SQL监控、防御SQL注入攻击、分布式调用链、日志等,被广泛应用于互联网企业的数据连接使用场景。Druid更详细的介绍可以参考其官方文档 https://github.com/alibaba/druid。 …

    Java 2023年5月20日
    00
  • JPA的多表复杂查询的方法示例

    JPA是Java Persistence API的缩写,它是Java EE中的一个API,提供了Java对象到关系数据库表之间的映射(ORM)功能。JPA中的多表复杂查询是指需要查询多个关联表的查询操作。下面将介绍JPA的多表复杂查询的方法示例。 一、JPA多表查询基本操作 定义多表查询的类 在JPA中,可以定义一个类来封装多表查询的结果,该类中包含了所有需…

    Java 2023年5月20日
    00
  • SpringBoot项目创建使用+配置文件+日志文件详解

    Spring Boot项目创建使用+配置文件+日志文件详解 Spring Boot是一个非常流行的Java框架,它提供了许多自动配置功能,使得开发人员可以更快速地构建应用程序。在本文中,我们将深入探讨Spring Boot项目的创建、使用、配置文件和日志文件的详解。 Spring Boot项目创建 Spring Boot项目的创建非常简单,可以通过以下步骤完…

    Java 2023年5月15日
    00
  • SpringBoot详解整合Spring Boot Admin实现监控功能

    SpringBoot详解整合Spring Boot Admin实现监控功能 简介 Spring Boot Admin是用于管理和监控一个或多个Spring Boot应用程序的应用程序。相比于spring-boot-actuator,默认Web UI很友好。此外,它还提供了以下功能: 显示应用程序的元数据(例如:Git提交信息,构建时间等) 显示健康检查状态以…

    Java 2023年5月19日
    00
  • 浅谈ASP数据库下载漏洞

    浅谈ASP数据库下载漏洞攻略 什么是ASP数据库下载漏洞 ASP数据库下载漏洞,是指在ASP网站中由于程序员未对用户输入数据进行合适的验证,导致攻击者利用构造恶意请求下载网站中的数据库文件。攻击者可以通过下载数据库文件获取网站中的敏感数据,如用户信息、密码、订单记录等。 攻击过程 攻击者在ASP网站中使用”download.asp?”的关键字搜索,找到下载文…

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