JavaScript 生成 JSON 对象119
JSON(JavaScript 对象表示法)是一种轻量级的数据交换格式,它基于 JavaScript 对象语法,广泛用于 Web 应用程序中传输数据。JavaScript 提供了内置的方法来生成 JSON 对象。
使用 ()
() 函数将 JavaScript 对象转换为 JSON 字符串。语法如下:```
(value, replacer?, space?)
```
* value:要转换的 JavaScript 对象。
* replacer:可选,一个函数或数组,它指定转换过程中如何处理对象属性。
* space:可选,一个指定输出 JSON 字符串缩进的字符串或数字。
例如:```
const person = {
name: "John Doe",
age: 30
};
const json = (person);
// 输出:{"name":"John Doe","age":30}
```
使用 ()
() 函数将 JSON 字符串转换为 JavaScript 对象。语法如下:```
(text, reviver?)
```
* text:要解析的 JSON 字符串。
* reviver:可选,一个函数,它指定如何将 JSON 值转换为 JavaScript 对象。
例如:```
const json = '{"name":"John Doe","age":30}';
const person = (json);
// 输出:{name: "John Doe", age: 30}
```
特殊情况
在某些情况下,() 无法正确转换某些数据类型:* 函数和 Symbol:函数和 Symbol 无法序列化为 JSON。
* 环形数据结构:如果 JavaScript 对象包含指向自身的引用,则 () 可能会陷入无限循环中。
* non-finite 数字:Infinity、-Infinity 和 NaN 无法序列化为 JSON。
自定义序列化
对于特殊情况或需要自定义序列化的场景,可以使用 replacer 参数。replacer 是一个函数,它接收两个参数:* key:属性或数组索引。
* value:属性值。
该函数可以返回一个要序列化的替换值,或者返回 undefined 来忽略该属性。
例如,要忽略 name 属性:```
const replacer = (key, value) => {
if (key === "name") {
return undefined;
}
return value;
};
const person = {
name: "John Doe",
age: 30
};
const json = (person, replacer);
// 输出:{"age":30}
```
自定义反序列化
类似地,可以使用 reviver 参数自定义 () 的反序列化行为。reviver 是一个函数,它接收两个参数:* key:属性或数组索引。
* value:属性值。
该函数可以返回一个用于替换的替换值,或者返回 undefined 来忽略该属性。
例如,要将 age 属性转换为字符串:```
const reviver = (key, value) => {
if (key === "age") {
return ();
}
return value;
};
const json = '{"name":"John Doe","age":30}';
const person = (json, reviver);
// 输出:{name: "John Doe", age: "30"}
```
2025-02-14

Python编程玩转运营数据:从数据采集到可视化分析全攻略
https://jb123.cn/python/67593.html

JavaScript出行助手:构建你的个性化行程规划应用
https://jb123.cn/javascript/67592.html

Python轻松实现凯撒密码:解密与加密的完整指南
https://jb123.cn/python/67591.html

华云Perl:从入门到实践,深入浅出Perl编程
https://jb123.cn/perl/67590.html

自动测试脚本语言及常用软件详解
https://jb123.cn/jiaobenyuyan/67589.html
热门文章

JavaScript (JS) 中的 JSF (JavaServer Faces)
https://jb123.cn/javascript/25790.html

JavaScript 枚举:全面指南
https://jb123.cn/javascript/24141.html

JavaScript 逻辑与:学习布尔表达式的基础
https://jb123.cn/javascript/20993.html

JavaScript 中保留小数的技巧
https://jb123.cn/javascript/18603.html

JavaScript 调试神器:步步掌握开发调试技巧
https://jb123.cn/javascript/4718.html