搞懂JSON.stringify方法的千奇百怪

搞懂JSON.stringify方法的千奇百怪说到JSON.stringify方法,做前端的,可能是无人不知,无人不晓。其作用也是非常好理解,将JS对象或者数组系列化成一个JSON字符串。

大家好,欢迎来到IT知识分享网。

点击右上方红色按钮关注“小郑搞码事”,每天都能学到知识,搞懂一个问题!

说到JSON.stringify方法,做前端的,可能是无人不知,无人不晓。其作用也是非常好理解,将JS对象或者数组系列化成一个JSON字符串。通常在向服务器发送数据时用,说到系列化也就自然想到反系列化,它的兄弟方法JSON.parse。但今天只讲JSON.stringify。在平时认识的基础之上,更深入来理解这个方法。知道它可以这么用其实也就足以。

【语法格式】

JSON.stringify(value, replacer, space) 

value:对象/数组(必选)

replacer:数组/方法(可选)

space:分隔符(可选)

这个语法应该也清楚了,下面我要做的就是告诉大家每一种取值情况的作用。

特别说明:下面一参(第一个参数),二参(第二个参数)。

一. 对象/数组(一参)

搞懂JSON.stringify方法的千奇百怪

不管是数组还是对象,都会将其转换成字符串,可以使用alert验证其正确性。上面代码输出结果一目了然。

二. 数组(一参)+function(二参)

搞懂JSON.stringify方法的千奇百怪

在FUN里能够拿到的数组的value值。这里我将value值toString后在输出大写的字符串形式输出。结果如上所示,如果不这样做, 输出就是字符串:'[‘xz1′,’xz2’]’。

三. 数组(一参)+数组(二参)

搞懂JSON.stringify方法的千奇百怪

上面讲了当第一个参数是数组,第二个参数是函数的情况,现在看一下,当第二个参数也是数组的情况,会发生什么。从上面代码输出结果上看出,这种情况,第二个参数被忽略了。直接将第一个参数数组系列化成字符串。

四. 对数(一参)+数组(二参)

搞懂JSON.stringify方法的千奇百怪

现在我们要分析的是第一个参数是对象,第二个参数是数组的情况,仔细看上面这段代码及输出结果。

第二个参数数组的value值name,age在第一个参数对象中都存在。

可以得到结论是:如果此时第二个参数的值在第一个存在,那么以第二个参数的值做KEY。第一个参数的值为value进行表示,如果不存在,就忽略。

稍微注意:上面的我们输出的结果都是以一行字符串形式出现的。

下面我们进一步看一下,当加上第三个参数时的输出结果:

1. 对象(一参)+数组(二参)+数字(三参)

JSON.stringify(testobj, testArr, 20) 
搞懂JSON.stringify方法的千奇百怪

2. 对象(一参)+数组(二参)+转义字符(三参)

JSON.stringify(testobj, testArr, '\t') 
搞懂JSON.stringify方法的千奇百怪

3. 对象(一参)+数组(二参)+任意字符串(三参)

JSON.stringify(testobj, testArr, 'yes') 
搞懂JSON.stringify方法的千奇百怪

本篇到此结束,篇幅不长,内容不难,估计只要花几分钟足够看完,能让大家又加深对JSON.stringify方法的认识就是本篇的目的。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/76790.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信