大家好,欢迎来到IT知识分享网。
点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!
说到JSON.stringify方法,做前端的,可能是无人不知,无人不晓。其作用也是非常好理解,将JS对象或者数组系列化成一个JSON字符串。通常在向服务器发送数据时用,说到系列化也就自然想到反系列化,它的兄弟方法JSON.parse。但今天只讲JSON.stringify。在平时认识的基础之上,更深入来理解这个方法。知道它可以这么用其实也就足以。
【语法格式】
JSON.stringify(value, replacer, space)
value:对象/数组(必选)
replacer:数组/方法(可选)
space:分隔符(可选)
这个语法应该也清楚了,下面我要做的就是告诉大家每一种取值情况的作用。
特别说明:下面一参(第一个参数),二参(第二个参数)。
一. 对象/数组(一参)
不管是数组还是对象,都会将其转换成字符串,可以使用alert验证其正确性。上面代码输出结果一目了然。
二. 数组(一参)+function(二参)
在FUN里能够拿到的数组的value值。这里我将value值toString后在输出大写的字符串形式输出。结果如上所示,如果不这样做, 输出就是字符串:'[‘xz1′,’xz2’]’。
三. 数组(一参)+数组(二参)
上面讲了当第一个参数是数组,第二个参数是函数的情况,现在看一下,当第二个参数也是数组的情况,会发生什么。从上面代码输出结果上看出,这种情况,第二个参数被忽略了。直接将第一个参数数组系列化成字符串。
四. 对数(一参)+数组(二参)
现在我们要分析的是第一个参数是对象,第二个参数是数组的情况,仔细看上面这段代码及输出结果。
第二个参数数组的value值name,age在第一个参数对象中都存在。
可以得到结论是:如果此时第二个参数的值在第一个存在,那么以第二个参数的值做KEY。第一个参数的值为value进行表示,如果不存在,就忽略。
稍微注意:上面的我们输出的结果都是以一行字符串形式出现的。
下面我们进一步看一下,当加上第三个参数时的输出结果:
1. 对象(一参)+数组(二参)+数字(三参)
JSON.stringify(testobj, testArr, 20)
2. 对象(一参)+数组(二参)+转义字符(三参)
JSON.stringify(testobj, testArr, '\t')
3. 对象(一参)+数组(二参)+任意字符串(三参)
JSON.stringify(testobj, testArr, 'yes')
本篇到此结束,篇幅不长,内容不难,估计只要花几分钟足够看完,能让大家又加深对JSON.stringify方法的认识就是本篇的目的。
免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/76790.html