JS 将 json 对象转成字符串并保留格式 - JSON.stringify()

简介: JS 将 json 对象转成字符串并保留格式 - JSON.stringify()
  • JSON.stringify(value, replacer, space)
  • value:将要序列化成一个 JSON 字符串的值。
  • replacer(可选):如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;如果该参数为 null 或者未提供,则对象所有的属性都会被序列化。
  • space(可选):指定缩进用的空白字符串,用于美化输出(pretty-print);如果参数是个数字,它代表有多少的空格;上限为 10。该值若小于 1,则意味着没有空格;如果该参数为字符串(字符串的前十个字母),该字符串将被作为空格;如果该参数没有提供(或为 null)将没有空格。
  • 细节注意:如果使用数字之类的无效,可以尝试字符串。例如 全角空格,在有些小程序或者特殊项目中可以通过这个进行解决。
  • 案例效果
<script>
  const json = {
    "key1": 123,
    key2: "测试",
    key3: 'asldjlaskjd',
    key4: 'https://www.baidu.com/'
  }
  // 普通转换
  console.log(JSON.stringify(json), '=======>1')
  // 缩进 2 个
  console.log(JSON.stringify(json, null, 2), '=======>2')
  // 缩进 4 个
  console.log(JSON.stringify(json, null, 4), '=======>3')
  // 好像是缩进了 4 个
  console.log(JSON.stringify(json, null, '\t'), '=======>4')
  // 前面以 test 字符串为缩进
  console.log(JSON.stringify(json, null, 'test'), '=======>5')
  // 前面以 2个普通空格 字符串为缩进
  console.log(JSON.stringify(json, null, '  '), '=======>6')
  // 前面以 2个全角空格 字符串为缩进
  console.log(JSON.stringify(json, null, '  '), '=======>7')
  // 前面缩进换成换行符
  console.log(JSON.stringify(json, null, '\n'), '=======>8')
</script>
相关文章
|
3月前
|
JavaScript 前端开发
如何在 JavaScript 中使用 __proto__ 实现对象的继承?
使用`__proto__`实现对象继承时需要注意原型链的完整性和属性方法的正确继承,避免出现意外的行为和错误。同时,在现代JavaScript中,也可以使用`class`和`extends`关键字来实现更简洁和直观的继承语法,但理解基于`__proto__`的继承方式对于深入理解JavaScript的面向对象编程和原型链机制仍然具有重要意义。
|
3月前
|
Web App开发 JavaScript 前端开发
如何确保 Math 对象的方法在不同的 JavaScript 环境中具有一致的精度?
【10月更文挑战第29天】通过遵循标准和最佳实践、采用固定精度计算、进行全面的测试与验证、避免隐式类型转换以及持续关注和更新等方法,可以在很大程度上确保Math对象的方法在不同的JavaScript环境中具有一致的精度,从而提高代码的可靠性和可移植性。
|
3月前
|
JSON 前端开发 JavaScript
JavaScript中对象的数据拷贝
本文介绍了JavaScript中对象数据拷贝的问题及解决方案。作者首先解释了对象赋值时地址共享导致的值同步变化现象,随后提供了五种解决方法:手动复制、`Object.assign`、扩展运算符、`JSON.stringify`与`JSON.parse`组合以及自定义深拷贝函数。每种方法都有其适用场景和局限性,文章最后鼓励读者关注作者以获取更多前端知识分享。
39 1
JavaScript中对象的数据拷贝
|
3月前
|
JSON 前端开发 JavaScript
聊聊 Go 语言中的 JSON 序列化与 js 前端交互类型失真问题
在Web开发中,后端与前端的数据交换常使用JSON格式,但JavaScript的数字类型仅能安全处理-2^53到2^53间的整数,超出此范围会导致精度丢失。本文通过Go语言的`encoding/json`包,介绍如何通过将大整数以字符串形式序列化和反序列化,有效解决这一问题,确保前后端数据交换的准确性。
74 4
|
3月前
|
JavaScript 前端开发 图形学
JavaScript 中 Math 对象常用方法
【10月更文挑战第29天】JavaScript中的Math对象提供了丰富多样的数学方法,涵盖了基本数学运算、幂运算、开方、随机数生成、极值获取以及三角函数等多个方面,为各种数学相关的计算和处理提供了强大的支持,是JavaScript编程中不可或缺的一部分。
|
4月前
|
缓存 JavaScript 前端开发
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
JavaScript中数组、对象等循环遍历的常用方法介绍(二)
71 1
|
4月前
|
JavaScript 前端开发 大数据
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
在JavaScript中,Object.assign()方法或展开语法(...)来合并对象,Object.freeze()方法来冻结对象,防止对象被修改
90 0
|
JavaScript
js截取,拼接,字符串方法
js截取,拼接,字符串方法
|
5月前
|
存储 JavaScript
js切割截取字符串方法
js切割截取字符串方法
74 2
|
JavaScript 索引 容器
echarts配置项,边框图片,js截取字符串
echarts配置项,边框图片,js截取字符串

热门文章

最新文章