JSON.stringify()在解析对象时是否总是忽略方法?

时间:2012-10-13 04:42:09

标签: javascript json

我在Mozilla-documentation中找到了以下内容:

  

如果在转换过程中遇到未定义,函数或XML值,则将其省略(在对象中找到它)或删除为null(在数组中找到它时)。

我的问题是:所有现代浏览器都以这种方式运行吗?我可以依靠stringify()来忽略我的对象方法吗?

2 个答案:

答案 0 :(得分:3)

JSON.stringify的完整算法可在规范中找到:http://es5.github.com/#x15.12.3

基本上,对于不是对象的每个值null,布尔值,数字或字符串,序列化函数返回undefined并且不呈现undefined值。< / p>

这并不一定能保证每个浏览器都以这种方式实现它,但唯一的浏览器通常是IE。每个其他浏览器都非常接近规范。

答案 1 :(得分:0)

是。

除了IE7(没有实现它)和IE8(需要文档处于标准模式)之外,stringify在浏览器中运行良好

请参阅: http://caniuse.com/#search=json