let jsonStr = JSON.stringify(obj);
console.log(jsonStr); // {"name":"John","age":30} 控制属性的输出 可以使用第二个参数"> let jsonStr = JSON.stringify(obj);
console.log(jsonStr); // {"name":"John","age":30} 控制属性的输出 可以使用第二个参数">
117.info
人生若只如初见

JSON.stringify的用法有哪些

JSON.stringify()方法用于将JavaScript对象转换为一个JSON字符串。它有以下用法:

  1. 将对象转换为JSON字符串
let obj = { name: "John", age: 30 };
let jsonStr = JSON.stringify(obj);
console.log(jsonStr); // {"name":"John","age":30}
  1. 控制属性的输出

可以使用第二个参数来控制属性的输出。

let obj = { name: "John", age: 30 };
let jsonStr = JSON.stringify(obj, ["name"]);
console.log(jsonStr); // {"name":"John"}
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}
  1. 美化输出

可以使用第三个参数来实现美化输出。

let obj = { name: "John", age: 30 };
let jsonStr = JSON.stringify(obj, null, 2);
console.log(jsonStr);
/*
{
"name": "John",
"age": 30
}
*/
  1. 处理循环引用

如果对象存在循环引用,可以使用第二个参数的replacer函数来处理。

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"}
  1. 序列化Date对象

默认情况下,Date对象会被转换为ISO 8601格式的字符串。

let obj = { date: new Date() };
let jsonStr = JSON.stringify(obj);
console.log(jsonStr); // {"date":"2021-11-10T12:00:00.000Z"}

可以使用replacer函数来自定义Date对象的序列化方式。

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等特殊类型的数据。

未经允许不得转载 » 本文链接:https://www.117.info/ask/fec21AzsLBgBRB1U.html

推荐文章

  • JSON.stringify的多种用法总结

    JSON.stringify是一个将JavaScript对象转换为JSON字符串的方法。它的用法有以下几种: 将JavaScript对象转换为JSON字符串,并可以选择性地将某些属性进行过滤: ...

  • json.stringify()的基本用法

    JSON.stringify() 是 JavaScript 中的一个方法,可以用来将 JavaScript 对象转换为一个 JSON 字符串。
    基本用法如下:
    const obj = { name: "John", a...

  • json.stringify()有哪些替代方案

    JSON.parse(): JSON.parse()方法用于将一个 JSON 字符串转换为对象。 JSON.serialize(): 有些语言或框架中可能提供了类似于JSON.stringify()的方法,如在Apex编程...

  • json.stringify()如何处理特殊字符

    在JSON.stringify()方法中,特殊字符会被转义成Unicode转义序列。例如,换行符会被转义为\n,双引号会被转义为\",反斜杠会被转义为\\等。这样可以确保生成的JSO...

  • vim编辑器常用命令有哪些

    以下是一些常用的Vim编辑器命令: 插入模式的命令: i:在光标前插入文本 a:在光标后插入文本 o:在当前行下方新建一行并进入插入模式 O:在当前行上方新建一行...

  • android fragment懒加载的方式有哪些

    Android中Fragment的懒加载方式有以下几种: setUserVisibleHint():这是最常见的一种懒加载方式。当Fragment可见状态发生变化时,会调用该方法。通过判断isVisi...

  • Python如何设置文本框大小

    在Python中,可以使用tkinter库来创建GUI(图形用户界面)应用程序,并设置文本框的大小。下面是一个简单的示例代码:
    import tkinter as tk
    root = t...

  • linux下如何配置管理dns服务器

    在Linux下配置和管理DNS服务器可以使用BIND软件包。以下是一些基本步骤: 安装BIND软件包:使用包管理器安装BIND软件包,如在Ubuntu上使用以下命令: sudo apt-g...