共计 993 个字符,预计需要花费 3 分钟才能阅读完成。
参考语法
JSON.stringify(value[, replacer [, space]])
个别在应用 JSON.stringify
常见有三种情景
-
仅仅转换成字符串
var arr = [{"name":"张三", "age":99, "address":"武汉犄角旮旯里", fun:function(){console.log("我就是一个正文")}}] var jsonstr = JSON.stringify(arr); console.log(jsonstr);
这种简略不便,然而一点都不难看,所以咱们能够持续改良下
-
增加字符
var arr = [{"name":"张三", "age":99, "address":"武汉犄角旮旯里", fun:function(){console.log("我就是一个正文")}}] var jsonstr = JSON.stringify(arr, null," "); console.log(jsonstr);
其实很简略,就是在第三个参数里增加了一个空格,当然你也能够增加 \n
or \t
这样的特殊字符
-
过滤数据,批改 replacer 参数
var arr = [{"name":"张三", "age":99, "address":"武汉犄角旮旯里", fun:function(){console.log("我就是一个正文")}}] var jsonstr = JSON.stringify(arr, ["age"]," "); console.log(jsonstr);
其实还能够解决一个问题,JSON.stringify
在转换字符串的时候默认是不会转换 function
,
所以能够传递第二个参数批改下。其实想过滤数据也是能够在 replacer
办法里实现,当你返回的是对象或数组,都会被序列化。所以能够判断 value
的类型是否返回就 ok 了
function replacer(key, value) {if(typeof value ==="function"){return String(value); | |
} | |
return value; | |
} | |
var arr = [{"name":"张三", "age":99, "address":"武汉犄角旮旯里", fun:function(){console.log("我就是一个正文")}}] | |
var jsonstr = JSON.stringify(arr, replacer," "); | |
console.log(jsonstr); |
正文完