美文网首页
JSON.stringify 简易实现

JSON.stringify 简易实现

作者: 菜鸡前端 | 来源:发表于2021-09-29 09:17 被阅读0次
<script>
  /**
   * @desc 模拟 JSON.stringify
   */
  var format = function (obj) {
    if (typeof obj !== "object" || obj === null) {
      if (typeof obj === 'string') {
        return `"${obj}"`
      }
      return obj
    }
    if (Array.isArray(obj)) {
      const content = obj.map(el => format(el)).join(',')
      return '[' + content + ']'
    }
    const list = []
    Object.keys(obj).forEach(key => {
      list.push(`"${key}":${format(obj[key])}`)
    })
    return '{' + list.join(',') + '}'
  }

  // 测试用例
  var person = {
    body: null,
    name: 'tony',
    list: [1, 2, 3, {
      name: 'frank'
    }],
    wife: {
      name: 'like',
      age: 30
    }
  }
  console.log(JSON.stringify(person))
  console.log(format(person))
</script>
image.png

当然,我这个实现是简易版的,JSON.stringify 支持更多的参数:


image.png

相关文章

网友评论

      本文标题:JSON.stringify 简易实现

      本文链接:https://www.haomeiwen.com/subject/fxadnltx.html