JSON. stringify()的使用
JSON. stringify()是将JSON对象序列化为字符串,它包含了三个参数JSON.stringify(value[, replacer [, space]])
1.value 一个将要序列化成 JSON 字符串的值
例如 let obj={ a:2 }
JSON. stringify(obj) // "{ "a":2 }"
2.replacer 它可以为函数或为数组,当它为函数时 在序列化过程中,被序列化的值每个属性都会经过它处理转换;如果为一个数组时则只会序列化包含在数组中的属性名;如果该值为null,则会序列化该值得全部属性(就是上面看到的那个例子)。
例 let obj2={ a:1,b:2,c:3 }
当它为函数时 JSON. stringify(obj2,
function(k,v)=>{
if( k!==“c” ){
return v;
}
}) // "{ "a":1,"b":2,}" 其中k和v分别代表键和值;
当为数组时 JSON. stringify( obj2, [ "b","c" ])
// "{ "b":2,"c":3 }"
3.space代表缩进上限为10
例 JSON. stringify( obj2, null,3 )
// "{
// "a":1,
// "b":2,
// "c":3
// }"
然后这一块有个关键点 如果对象定义了toJSON()方法,JSON字符串时则会先调用该方法然后返回值来进行序列化。
看个例子 let obj3={
arr: [1,2,3],
toJSON:function(){
return this. arr. slice(1)
}
}
JSON. stringify(obj3 ) // "[ 2,3 ]"
以上就是JSON. stringify()基本用法