目录
JSON是什么
JSON在JavaScript中的应用
将JavaScript对象转换为JSON字符串
将JSON字符串解析为JavaScript对象
JSON 与 JavaScript 对象的区别
JSON是什么
JSON是由键值对组成的数据集合,键key是一个字符串,值value可以是以下几种类型之一:
- 字符串(String)
- 数字(Number)
- 对象(Object)
- 数组(Array)
- 布尔值(Boolean)
null
(空值)
JSON的基本语法结构是:
- 数据以
{}
包围,表示一个对象 - 数据以
[]
包围,表示一个数组 - 键(key)和字符串的值(value)之间通过冒号
:
分隔 - 键值对之间使用逗号
,
分隔
JSON在JavaScript中的应用
JavaScript中提供了JSON对象,内置了方法开处理JSON数据,包括将对象转换为JSON字符串和将JSON字符串解析为JavaScript对象
将JavaScript对象转换为JSON字符串
使用 JSON.stringify()
方法将 JavaScript 对象转换为 JSON 字符串
let person = {name: "Alice",age: 25,isStudent: false
};let jsonString = JSON.stringify(person);
console.log(jsonString);
// 输出: {"name":"Alice","age":25,"isStudent":false}
JSON.stringify()
方法将 person
对象转换为 JSON 字符串,可以将它发送到服务器,或将其存储在本地存储(localStorage)中
将JSON字符串解析为JavaScript对象
使用 JSON.parse()
方法将 JSON 字符串转换为 JavaScript 对象
let jsonString = '{"name":"Alice","age":25,"isStudent":false}';let person = JSON.parse(jsonString);
console.log(person.name); // 输出: Alice
console.log(person.age); // 输出: 25
JSON.parse()
方法将 JSON 字符串转换为 JavaScript 对象,我们可以访问和操作其中的键值对
JSON 与 JavaScript 对象的区别
1. JSON中的键必须是字符串
在 JavaScript 对象中,键可以是字符串、数字或符号,但在 JSON 中,键必须是字符串,且必须用双引号 "
包围
// JavaScript 对象
let obj = { name: "Alice", 1: "one" };// JSON
let jsonString = '{"name": "Alice", "1": "one"}';
2. JSON不支持函数
3. JSON中没有undefined值
在 JSON 中,undefined
值是不允许的。如果对象中包含 undefined
,它将被忽略,或者会抛出错误
let obj = { name: "Alice", age: undefined };
// 转换为 JSON 字符串时,`age` 将被忽略
let jsonString = JSON.stringify(obj);
console.log(jsonString); // 输出: {"name":"Alice"}
4. JSON不支持注释