javascript - 使用JSON.stringify()方法的问题
本文介绍了javascript - 使用JSON.stringify()方法的问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
JSON.stringify() 方法用于将 JavaScript 值转换为 JSON 字符串。以下代码执行后a的值为:
var a = JSON.stringify({name: "jerry", age: 1, nick: undefined, tags: null});
正确答案给的是'{"name":"jerry","age":1,"tags":null}' ,想请教一下大牛为什么不是{"name":"jerry","age":1,"nick":undefined,"tags":null }'?为什么没有"nick":undefined呢?
解决方案
关于序列化,有下面五点注意事项:
非数组对象的属性不能保证以特定的顺序出现在序列化后的字符串中。
布尔值、数字、字符串的包装对象在序列化过程中会自动转换成对应的原始值。
undefined、任意的函数以及 symbol 值,在序列化过程中会被忽略(出现在非数组对象的属性值中时)或者被转换成 null(出现在数组中时)。
所有以 symbol 为属性键的属性都会被完全忽略掉,即便 replacer 参数中强制指定包含了它们。
不可枚举的属性会被忽略
这篇关于javascript - 使用JSON.stringify()方法的问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文