JSON. stringify()的使用

2020-01-15  本文已影响0人  _小飞飞

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()基本用法

上一篇下一篇

猜你喜欢

热点阅读