-
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>