JSON stringify()的不常见用法有哪些

这篇文章主要讲解了“JSON stringify()的不常见用法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JSON stringify()的不常见用法有哪些”吧!

  JSON.stringify()只序列化可遍历属性(enumerable=true)

  复制代码

  varobj={};

  Object.defineProperties(obj,{

  'foo':{

  value:1,

  enumerable:true

  },

  'bar':{

  value:2,

  enumerable:false

  }

  });

  JSON.stringify(obj);//"{"foo":1}"

  复制代码

  JSON.stringify(obj,fn|arr);

  1)当第二个参数为数组时,表示需要被序列化的对象的属性列表;

  2)当第二个参数为方法时,function(key,value){}表示每个属性对应的key-value值,最终的返回值可以用来改变原来的结果。

  该方法可以用来在序列化之前改变对象的内容。

  复制代码

  varo={a:{b:1}};

  functionf(key,value){

  console.log("["+key+"]:"+value);

  returnvalue;

  }

  JSON.stringify(o,f)

  //[]:[objectObject]

  //[a]:[objectObject]

  //[b]:1

  //'{"a":{"b":1}}'

  //递归处理,每次处理上次的返回结果

  复制代码

  JSON.stringify(obj,null,number|string)

  可以接受第三个参数,这个可以用来按格式打印对象

  当第三个参数为数值时,表示每个属性前的空格数(<10)

  复制代码

  console.log(JSON.stringify({a:{b:1}},null,2))

  {

  "a":{

  "b":1

  }

  }

  复制代码

感谢各位的阅读,以上就是“JSON stringify()的不常见用法有哪些”的内容了,经过本文的学习后,相信大家对JSON stringify()的不常见用法有哪些这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是亿速云,小编将为大家推送更多相关知识点的文章,欢迎关注!