让我来为你详细讲解“一文搞懂JSON(JavaScript Object Notation)”的攻略。
让我来为你详细讲解“一文搞懂JSON(JavaScript Object Notation)”的攻略。
概述
JSON是一种轻量级的数据交换格式,由JavaScript语言创建。它基于JavaScript的对象表示法的部分语法,但是与之不同的是,JSON可以由许多编程语言而不仅仅是JavaScript进行解析和生成。JSON格式的值可以是字符串、数值、布尔值、null、数组或对象。JSON对象是key-value的无序集合,JSON数组是有序集合。
基本语法
JSON主要由以下几种类型组成:
对象
对象是一对键-值(key-value)对的无序集合。键必须是字符串,值可以是字符串、数值、布尔类型、null、对象或数组等。格式为:{key1: value1, key2: value2, ...}
例如,以下是一个简单的JSON对象示例:
{
"name": "小明",
"age": 20,
"gender": "男"
}
数组
数组是值(value)的有序集合。值可以是任何类型,包括数组和对象。格式为:[value1, value2, ...]
例如,以下是一个简单的JSON数组示例:
[
"陆地交通工具",
"水上交通工具",
"空中交通工具"
]
字符串
字符串是由双引号包围的任意文本。其中可以包含转义字符。格式为:"string"
例如,以下是一个简单的JSON字符串示例:
"hello world"
数值
数值可以是整数或浮点数,但不支持科学计数法和NaN。格式为:number
例如,以下是一个简单的JSON数值示例:
20
布尔类型
布尔类型变量有两个取值:true和false。格式为:true
或false
例如,以下是一个简单的JSON布尔类型示例:
true
null
null是一个特殊的值,表示一个空值。格式为:null
例如,以下是一个简单的JSON null 示例:
null
示例说明
示例1:解析JSON字符串
我们可以通过JavaScript中的JSON对象来解析JSON字符串。JSON对象提供了两个方法:JSON.parse()
和JSON.stringify()
。
下面是一个示例代码解析JSON字符串:
const jsonStr = '{"name": "小明", "age": 20, "gender": "男"}';
const jsonObj = JSON.parse(jsonStr);
console.log(jsonObj.name); // 输出: 小明
console.log(jsonObj.age); // 输出: 20
console.log(jsonObj.gender); // 输出: 男
示例2:构造JSON对象
我们可以使用JavaScript对象语法来创建JSON对象。
下面是一个示例代码创建JSON对象:
const jsonObj = {
"name": "小明",
"age": 20,
"gender": "男",
"parents": {
"father": "小明父亲",
"mother": "小明母亲"
},
"hobbies": ["篮球", "游泳", "电影"]
};
console.log(JSON.stringify(jsonObj)); // 输出: {"name":"小明","age":20,"gender":"男","parents":{"father":"小明父亲","mother":"小明母亲"},"hobbies":["篮球","游泳","电影"]}
以上是我对“一文搞懂JSON(JavaScript Object Notation)”的攻略介绍,希望对你有所帮助。
本文标题为:一文搞懂JSON(JavaScript Object Notation)
基础教程推荐
- 如何设计Java毕业项目 2023-10-08
- 源码解析springbatch的job运行机制 2023-04-07
- SpringCloud Gateway HttpWebHandlerAdapter链路调用请求流程介绍 2023-06-17
- Java C++算法题解leetcode801使序列递增的最小交换次数 2023-06-10
- springboot实现mock平台的示例代码 2023-02-05
- 在JSP中处理虚拟路径 2024-01-12
- java数据结构与算法数组模拟队列示例详解 2022-12-03
- javaWeb自定义标签用法实例详解 2024-01-11
- SpringBoot利用validation实现优雅的校验参数 2023-01-08
- SpringCloud中分析讲解Feign组件添加请求头有哪些坑梳理 2023-01-23