hand
_1_11_82
4
返回栏目
0k
2k
1k
2k
1k
1k
1k
2k
2k
2k
1k
2k
1k
2k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
1k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
1k
2k
1k
1k
1k
1k
1k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
1k
1k
2k
1k
1k
2k
2k
1k
2k
1k
1k
2k
2k
2k
3k
3k
2k
3k
2k
3k
3k
3k
1k
2k
3k
2k
2k
3k
3k
2k
2k
6k
3k
2k
2k
5k
3k
4k
3k
3k
2k
4k
3k
3k
2k
3k
3k
1k
4k
4k
4k
2k
5k
3k
2k
3k
4k
3k
3k
4k
2k
3k
3k
4k
2k
2k
3k
4k
3k
3k
2k
5k
2k
3k
3k
3k
3k
2k
3k
3k
3k
2k
2k
2k
2k
3k
2k
2k
2k
3k
2k
2k
2k
2k
2k
2k
0.1k
0.2k
3k
2k
3k
2k
0.1k
2k
2k
4k
2k
2k
1k
2k
2k
3k
3k
3k
3k
2k
2k
3k
3k
3k
4k
3k
3k
4k
3k
2k
2k
3k
3k
3k
3k
3k
3k
2k
3k
3k
4k
4k
3k
3k
2k
2k
3k
2k
2k
1k
2k
3k
1k
2k
2k
2k
2k
2k
2k
2k
2k
2k
4k
2k
3k
2k
1k
2k
2k
2k
2k
2k
3k
2k
3k
1k
2k
2k
2k
0k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
1k
1k
3k
2k
3k
1k
2k
1k
2k
2k
2k
2k
3k
1k
3k
2k
2k
2k
2k
2k
2k
1k
2k
2k
4k
3k
3k
2k
2k
2k
2k
2k
2k
4k
3k
3k
3k
2k
2k
2k
2k
2k
2k
3k
4k
返回前端 - Javascript栏目
作者:
贺及楼
成为作者
更新日期:2025-02-21 18:12:09
在前端开发中,JSON(JavaScript Object Notation)是一种轻量级的数据交换格式,它基于 JavaScript 对象字面量语法,易于人阅读和编写,同时也易于机器解析和生成。JavaScript 提供了 JSON
对象,用于处理 JSON 数据的序列化与反序列化,这在前后端数据交互、数据存储等场景中发挥着重要作用。
JSON 数据格式由键值对组成,使用大括号 {}
表示对象,方括号 []
表示数组。键必须是字符串,值可以是字符串、数字、布尔值、null
、对象或数组。以下是一个简单的 JSON 示例:
{
"name": "John",
"age": 30,
"isStudent": false,
"hobbies": ["reading", "swimming"],
"address": {
"city": "New York",
"zip": "10001"
}
}
JSON.stringify()
- 序列化JSON.stringify()
方法用于将 JavaScript 对象或值转换为 JSON 字符串,这个过程称为序列化。其语法如下:
JSON.stringify(value[, replacer[, space]])
value
:必需,要转换的 JavaScript 对象或值。replacer
:可选,可以是函数或数组,用于指定哪些属性要被序列化。space
:可选,用于指定缩进空格数,使输出的 JSON 字符串更易读。
const person = {
name: "Alice",
age: 25,
isMarried: true
};
const jsonString = JSON.stringify(person);
console.log(jsonString);
// 输出: {"name":"Alice","age":25,"isMarried":true}
replacer
数组
const person = {
name: "Bob",
age: 35,
job: "Engineer",
city: "Los Angeles"
};
const replacer = ["name", "job"];
const jsonString = JSON.stringify(person, replacer);
console.log(jsonString);
// 输出: {"name":"Bob","job":"Engineer"}
space
参数
const person = {
name: "Charlie",
age: 40
};
const jsonString = JSON.stringify(person, null, 2);
console.log(jsonString);
// 输出:
// {
// "name": "Charlie",
// "age": 40
// }
JSON.parse()
- 反序列化JSON.parse()
方法用于将 JSON 字符串转换为 JavaScript 对象,这个过程称为反序列化。其语法如下:
JSON.parse(text[, reviver])
text
:必需,要解析的 JSON 字符串。reviver
:可选,是一个函数,用于在返回之前对每个键值对进行处理。
const jsonString = '{"name": "David", "age": 22}';
const person = JSON.parse(jsonString);
console.log(person.name);
// 输出: David
reviver
函数
const jsonString = '{"name": "Eve", "birthDate": "1990-01-01"}';
const person = JSON.parse(jsonString, (key, value) => {
if (key === "birthDate") {
return new Date(value);
}
return value;
});
console.log(person.birthDate.getFullYear());
// 输出: 1990
JSON.stringify()
不能序列化函数、undefined
和 Symbol
类型的值。如果对象的属性值是这些类型,该属性会被忽略。JSON.parse()
只能解析符合 JSON 格式的字符串。例如,键必须用双引号括起来,否则会抛出 SyntaxError
。方法 | 作用 | 语法 |
---|---|---|
JSON.stringify() |
将 JavaScript 对象或值转换为 JSON 字符串 | JSON.stringify(value[, replacer[, space]]) |
JSON.parse() |
将 JSON 字符串转换为 JavaScript 对象 | JSON.parse(text[, reviver]) |
通过 JSON.stringify()
和 JSON.parse()
方法,我们可以方便地在 JavaScript 对象和 JSON 字符串之间进行转换,实现数据的序列化与反序列化,从而在前端开发中更好地处理数据的传输和存储。无论是与后端进行数据交互,还是在本地存储数据,JSON 对象的这两个方法都能发挥重要作用。
前端 - Javascript
整章节共299节
快分享给你的小伙伴吧 ~