JSON.stringify的用法有哪些


JSON.stringify()方法用于将JavaScript对象转换为一个JSON字符串。它有以下用法:
1. 将对象转换为JSON字符串
```javascript
let obj = { name: "John", age: 30 };
let jsonStr = JSON.stringify(obj);
console.log(jsonStr); // {"name":"John","age":30}
```
2. 控制属性的输出
可以使用第二个参数来控制属性的输出。
```javascript
let obj = { name: "John", age: 30 };
let jsonStr = JSON.stringify(obj, ["name"]);
console.log(jsonStr); // {"name":"John"}
```
```javascript
let obj = { name: "John", age: 30 };
let jsonStr = JSON.stringify(obj, (key, value) => {
if (key === "name") {
return value.toUpperCase();
}
return value;
});
console.log(jsonStr); // {"name":"JOHN","age":30}
```
3. 美化输出
可以使用第三个参数来实现美化输出。
```javascript
let obj = { name: "John", age: 30 };
let jsonStr = JSON.stringify(obj, null, 2);
console.log(jsonStr);
/*
{
"name": "John",
"age": 30
}
*/
```
4. 处理循环引用
如果对象存在循环引用,可以使用第二个参数的replacer函数来处理。
```javascript
let obj = { name: "John" };
obj.self = obj;
let jsonStr = JSON.stringify(obj, (key, value) => {
if (key === "self") {
return undefined;
}
return value;
});
console.log(jsonStr); // {"name":"John"}
```
5. 序列化Date对象
默认情况下,Date对象会被转换为ISO 8601格式的字符串。
```javascript
let obj = { date: new Date() };
let jsonStr = JSON.stringify(obj);
console.log(jsonStr); // {"date":"2022-11-10T12:00:00.000Z"}
```
可以使用replacer函数来自定义Date对象的序列化方式。
```javascript
let obj = { date: new Date() };
let jsonStr = JSON.stringify(obj, (key, value) => {
if (value instanceof Date) {
return value.getTime();
}
return value;
});
console.log(jsonStr); // {"date":1636550400000}
```
注意:JSON.stringify()方法无法处理函数、正则表达式、undefined等特殊类型的数据。


上一篇:json数组如何转换实体类对象

下一篇:vim编辑器常用命令有哪些


蚂蚁钢琴网 2008-2025 www.somall.com.cn 皖ICP备2023010105号
大写数字 热点城市 热点地区 热点街道 热点时间 房贷计算器
钢琴调律 钢琴调音 钢琴调律价格
温馨提示:部分文章图片数据来源与网络,仅供参考!版权归原作者所有,如有侵权请联系删除!
违法和不良信息24小时举报热线:18056540210