对象相互引用,出现无限循环,就会报错
var a={}
var b={f:99,c:a}
a.age=b;
JSON.stringify(a);//报错
自定义序列化(必须是对象)
var obj={
val:[1,2,3,4],
toJSON:function(){
return this.val.slice(1);
}
}
JSON.stringify(a);//‘[2,3,4]‘
JSON.stringify第二参数,如果是数组,会选出数组某项值等于对象属性的的JSON
JSON.stringify第二参数,如果是函数,即是个回调函数,回调函数有两个参数
JSON.stringify(obg,function(k,v){
if(k!=‘a‘)
return v;
})