JSON的语法是JavaScript的子集,它并不能表示JavaScript里的所有值。支持对象、数组、字符串、无穷大数字、true、false和null,并且它们可以序列化和还原。注意:
①NaN、Infinity和-Infinity序列化的结果是null;
②JSON.stringify()只能序列化对象可枚举的自有属性;
③日期对象序列化的结果是ISO格式的日期字符串(参照Date.toJSON()函数),但JSON.parse()依然保留它们的字符串形态,而不能将它们还原为原始日期对象;
④函数、RegExp、Error对象和undefined值不能序列化和还原;
当然,JSON.stringify()和JSON.parse()都可以接受第二个可选参数,通过传入需要序列化或还原的属性列表来定制自定义的序列化或还原操作,这个我们以后再详谈。
您可能感兴趣的文章: