JSON.stringify()
2023-12-28 11:32:55
一、定义
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()?方法来自定义对象的序列化过程。
?
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
?
文章来源:https://blog.csdn.net/weixin_69232086/article/details/135253787
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!