首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

JSON.stringify的使用细节

JSON对象有几个方法,而JSON.stringify是用来系列化对象的,说白了,就是将对象转成字符串。它和JavaScript貌似没直接关系,但是可以让浏览器兼容这个方法而且大部分已是兼容。今天我来详细说一下JSON.stringify的使用规则。顺便一起来复习一下。

从语法格式说起:

JSON.stringify(value [, replacer] [, space])

从这个语法格式上可以看出,总共有三个参数,除了value是必选之外,其它两都是可选字段。所以我就得分各种情况来举例和讲解了。来

第一,当只有一个参数value

如下代码,这个应该不需要解释。

第二,replace是数组或者方法的情况

replace是数组或者方法还和第一个参数的形态有着一定关系。分几种情况来看:

以下一表示(第一个参数),二表示(第二个参数)。

1、一数组二function

由此可见,当第二个参数是function时,就是把系列化后的每一个对象(记住是每一个)传进方法里面进行处理。 如上面实例所示。

2、一对象二function

这种情况不像第一个参数是数组的情况,它需要指明对象具体需要处理的属性名称。接着看一下第三种情况。

3、一数组二数组

第一和第二个参数都是数组的时候,只会系列化第一个数组,第二个被忽略了。

4、一对象二数组

上面举了两个例子,足以明白这种情况的输出规则,第一个参数是对象,第二个是数组的时候,数组的值当结果的key。对象的值当结果的value,前提是数组的值在对象的属性中存在。

好了,到这里,关于第二个参数replacer的取值情况,我已经通过例子解释了一下。下面来断续看第三个参数的情况。

第三、space的用法

讲到space就有点小复杂了,分的情况比较多。总的来说就是一句话:用什么来做分隔符的

在具体一点吧:

1、如果省略,输出的结果就没有分隔符,直接输出。(这个不要举例!)

2、如果是数字的话,表示缩进几个字符,最大值10。

3、如果是转义字符,比如"\t",表示回车,每行一个回车。

4、如果是字符串,输出结果附加上去,最大长度10个字符。

最后的总结:

全文篇幅不长,but,应该把JSON.stringify的三参用法讲清楚了。这也就是我写这篇文章的本意。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180718A08AKN00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券