JSON.stringify()的不常见用法

1.JSON.stringify()只序列化可遍历属性(enumerable=true) var obj = {}; Object.defineProperties(obj, { 'foo': { value: 1, enumerable: true }, 'bar': { value: 2,...

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

var obj = {};
Object.defineProperties(obj, {
  'foo': {
    value: 1,
    enumerable: true
  },
  'bar': {
    value: 2,
    enumerable: false
  }
});

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

2. JSON.stringify(obj, fn|arr);

1)当第二个参数为数组时,示意需要被序列化的 工具的属性列表;
2)当第二个参数为方式时,function(key, value){}示意每个属性对应的key-value值,最终的返回值可以用来改变原来的效果。

该方式可以用来在序列化之前改变工具的内容。

var o = {a: {b: 1}};

function f(key, value) {
  console.log("["+ key +"]:" + value);
  return value;
}

JSON.stringify(o, f)
// []:[object Object]
// [a]:[object Object]
// [b]:1
// '{"a":{"b":1}}'

// 递归处置,每次处置上次的返回效果

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

 可以接受第三个参数,这个可以用来按花样打印工具

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

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

2)当第三个参数为字符串时,示意在每个属性前添加该字符串(<10)

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

思源资源网:分类流动

1.阿里云: 本站现在使用的是阿里云主机,平安/可靠/稳固。点击领取2000米代金券、领会最新阿里云产物的种种优惠流动点击进入

2.腾讯云: 提供云服务器、云数据库、云存储、视频与CDN、域名等服务。腾讯云各种产物的最新流动,优惠券领取点击进入

3.广告同盟: 整理了现在主流的广告同盟平台,若是你有流量,可以作为参考选择适合你的平台点击进入

链接: http://www.fly63.com/article/detial/2594

  • 发表于 2021-02-21 09:20
  • 阅读 ( 394 )
  • 分类:互联网

0 条评论

请先 登录 后评论
莉莉10
莉莉10

681 篇文章

你可能感兴趣的文章

相关问题