JSON的语法是JavaScript语法的子集,它并不能表示JavaScript里的所有值。
支持对象、数组、字符串、无穷大数字、true. false和null,并且它们可以序列化和还原。
NaN、Infinity和-Infinity序列化的结果是null,日期对象序列化的结果是JSON格式的日期字符串(参照Date.toJSON()函数),但JSON.parse()依然保留它们的字符串形态,而不.
会将它们还原为原始日期对象。
函数、RegExp. Error对象和undefined值不能序列化和还原。JSoN.stringify()只能序列化对象可枚举的自有属性。
对于一个不能序列化的属性来说,在序列化后的输出字符串中会将这个属性省略掉。JSoN.stringify()和JSON.parse()都可以接收第二个可选参数,通过传入需要序列化或还原的属性列表来定制自定义的序列化或还原操作。