JSON一般用于web页面与服务器之间进行数据交换的数据格式,而今天就说一说 javascript 中将字符串,对象,数组转化成为 json 格试字符串的方法。
JSON.stringify() 方法的定义
JSON.stringify():方法用于将 JavaScript 值转换为 JSON 字符串。
语法:
JSON.stringify(value, replacer, space)
参数:
value:将要被序列化成 一个JSON 字符串的值。
replacer:(可选)如果该参数是一个函数,则在序列化过程中,被序列化的值的每个属性都会经过该函数的转换和处理;如果该参数是一个数组,则只有包含在这个数组中的属性名才会被序列化到最终的 JSON 字符串中;如果该参数为null或者未提供,则对象所有的属性都会被序列化;关于该参数更详细的解释和示例,请参考使用原生的 JSON 对象一文。
space:可选, 向返回值JSON 文本添加缩进、空格和换行符以使其更易于读取。
(1)、如果省略space,则将生成返回值文本,而没有任何额外空格。
(2)、如果 space是一个数字,则返回值文本在每个级别缩进指定数目的空格。 如果 space 大于 10,则文本缩进 10 个空格。
(3)、如果 space是一个非空字符串(例如“\t”),则返回值文本在每个级别中缩进字符串中的字符。
(4)、如果 space 是长度大于 10个字符的字符串,则使用前 10 个字符。
JSON.stringify() 方法的使用
例:利用 JSON.stringify() 方法将数组转化为JSON字符串
如果将 js 数组转化为 JSON 字符串,则无需要设置 JSON.stringify() 方法的第二个或第三个参数,
示例代码:
<script> var data = [ { name: "小明", sex: "男", age: 16 }, { name: "红红", sex: "女", age: 17 }, { name: "君君", sex: "男", age: 18 }, { name: "晓晓", sex: "女", age: 19 } ]; var json = JSON.stringify(data); console.log(json); </script>
输出结果:
[{"name":"小明","sex":"男","age":16},{"name":"红红","sex":"女","age":17},{"name":"君君","sex":"男","age":18},{"name":"晓晓","sex":"女","age":19}]
例:JSON.stringify() 方法将数组指定数组转化为JSON字符串
如果将 js 数组中的指定部份转化为 JSON 字符串,则只需要将第 JSON.stringify() 方法的第二个参数设置为数组即可,其数组中写入要输出的数组key即可。
示例代码:
<script> var data = [ { name: "小明", sex: "男", age: 16 }, { name: "红红", sex: "女", age: 17 }, { name: "君君", sex: "男", age: 18 }, { name: "晓晓", sex: "女", age: 19 } ]; //这里用到了 JSON.stringify() 方法的第二个参数 var json = JSON.stringify(data,['name']); console.log(json); </script>
输出结果:
[{"name":"小明"},{"name":"红红"},{"name":"君君"},{"name":"晓晓"}]
例:JSON.stringify() 方法的第二个参数为函数时
示例代码:
<script> var arr = new Array(); arr[0] = "上海"; arr[1] = "北京"; arr[2] = "湖南"; arr[3] = "山东"; arr[4] = "青岛"; //这里用到了 JSON.stringify() 方法的第二个参数为函数 var json = JSON.stringify(arr,function(key, value){ return value.toString().toUpperCase(); }); console.log(json); </script>
输出结果:
"上海,北京,湖南,山东,青岛"
注:
toString():方法可把一个逻辑值转换为字符串,并返回结果。
toUpperCase():方法用于把字符串转换为大写。
例:美化 JSON.stringify() 方法输出的结果
示例代码
<script> var arr = new Array(); arr[0] = "ShangHai"; arr[1] = "BeiJing"; arr[2] = "HuNan"; arr[3] = "ShanDong"; arr[4] = "QingDao"; //这里用到了 JSON.stringify() 第三个参数,比如设置为 '\t' var json = JSON.stringify(arr,null,'\t'); console.log(json); </script>
输出结果:
[ "ShangHai", "BeiJing", "HuNan", "ShanDong", "QingDao" ]
PS:此种方法,便于本地查看打印结果
以上就是JSON.stringify()方法的定义与如何使用好代码教程。错过了,就错过了全部,就算在怎么努力也回不到从前了。更多关于JSON.stringify()方法的定义与如何使用好代码教程请关注haodaima.com其它相关文章!