JSON.stringify()

一、定义

JSON.stringify() 是一个 JavaScript 内置函数,用于将 JavaScript 对象或值转换为 JSON 字符串

二、语法

JSON.stringify(value, replacer, space);

value:要转换为 JSON 字符串的 JavaScript 对象或值。

eplacer(可选):一个函数或数组,用于控制 JSON 字符串中的属性序列化过程。

space(可选):用于控制缩进的字符串或数字。

三、优点:

  1. 方便地将 JavaScript 对象或值转换为 JSON 字符串,以便在网络传输或存储时进行序列化。

  2. 可以使用 replacer 参数来自定义序列化过程,例如排除或转换特定属性。

  3. 可以使用 space 参数添加缩进,使 JSON 字符串更易读。

四、缺点:

  1. JSON.stringify() 方法默认会忽略 undefined、函数以及 symbol 属性,因为 JSON 格式不支持这些类型。

  2. 如果 JavaScript 对象中存在循环引用,即某个对象的属性引用了对象自身或形成循环链,JSON.stringify() 方法在转换时会抛出异常。

  3. 无法序列化对象的方法,因为 JSON 只支持数据的序列化,而不是方法的序列化。

注意:JSON.stringify() 方法只能处理原始数据类型、数组、普通对象和一些内置对象,而不能处理自定义的类实例对象。如果需要将自定义对象转换为 JSON 字符串,可以在对象中实现 toJSON() 方法来自定义对象的序列化过程。

javascript 复制代码
const obj = {name:'11',age:13} 
JSON.stringify(obj)  //'{"name":"11","age":13}'
const o2 = {age:13,name:'11'}
JSON.stringify(o2)  //'{"age":13,"name":"11"}'
JSON.stringify(obj)===JSON.stringify(o2)   //false
//因为obj 和o2 对象中属性的顺序不同,所以JSON.stringify() 结果不相等,显示false

//而o3与obj对象的属性和顺序都相同
const o3 = {name:'11',age:13}
JSON.stringify(o3) === JSON.stringify(obj)  //true
相关推荐
SelectDB技术团队3 小时前
Agent 场景动态 JSON 性能拆解:Apache Doris 比 ClickHouse 快 7 倍、比 Elasticsearch 快 2 倍
数据库·clickhouse·elasticsearch·json·apache·日志分析·apache doris
Amy187021118231 天前
UL证书只是起点——智能电表出口北美,真正的考验在量产之后
json
SelectDB1 天前
Agent 场景动态 JSON 性能拆解:Apache Doris 比 ClickHouse 快 7 倍、比 Elasticsearch 快 2 倍
数据库·json·agent
前网易架构师-高司机1 天前
带标注的21种中药材识别数据集,识别率73.8%数据集,2237张图,支持yolo,coco json,voc xml,文末有模型训练代码
xml·yolo·json·数据集·中药·药材·中草药
我是大猴子1 天前
Java里的Json
json
PixelBai2 天前
JSON查看器实际应用场景案例
json
田里的水稻2 天前
EP_XML\JSON配置文件和YAML
xml·运维·人工智能·机器人·自动驾驶·json
Java小学生丶2 天前
分享一个 JS 鼠标跟随贪吃蛇背景库
js·美化
耍酷的魔镜3 天前
核心设计理念:5W2H、JSON-LD 与通用知识图谱
人工智能·json·知识图谱
自信的未来3 天前
JSON 工具|Web Worker 工程化打包 + 语法自动修复 + 多语言代码生成实战
java·前端·json