JSON对象有两个方法:stringify()、parse()。
1、stringify(),将JavaScript对象序列化为JSON字符串
语法格式:stringify(参数1,[[参数2],[参数3]])
参数1:要被序列化的JavaScript对象
参数2:数据过滤器或转换函数
如果是函数,传入的函数接收两个参数,属性名和属性值
JSON.stringify(str,function(key,value){return.......})
如果是数组,那么结果中将只包含数组中列出的属性
JSON.stringify(str,["name","age"])
参数3:控制结果中的缩进和空白符
如果是一个数值,则表示每个级别缩进的空格数(<=10个)
JSON.stringify(str,["name","age"],4)
如果是一个字符串,则这个字符串将被用作缩进字符(不再使用空格)(<=10个)
JSON.stringify(str,["name","age"],"-")
如果还是不能满足对某些对象进行自定义序列化的需求,可以给对象定义toJSON方法,返回其自身的JSON数据格式
var obj = {"name":"jack",toJSON:function(){....}}
备注:
1.1、序列化后的字符串不包含任何空格字符或缩进
1.2、所有函数及原型成员都会被忽略
1.3、值为undefined的任何属性都会被跳过
2、parse(),将JSON字符串解析为原生JavaScript对象
语法格式:parse(参数1,[参数2])
参数1:要被解析的JSON字符串
参数2:是一个函数,传入的函数接收两个参数,属性名和属性值
JSON.parse(str,function(key,value){return.......})