json.stringify()的使用

author author     2023-04-03     463

关键词:

参考技术A

复制粘贴一下 JSON.stringify() 三个参数的含义:

返回值: 返回包含 JSON 文本的字符串。
从上面的参数说明中可以看到,第二个参数可以是一个函数或者数组,这给了我们很大的发挥空间。

stringify() 的第一个和第三个参数都好理解,所以下面主要说的是第二个参数。

当第二个参数为数组时,可作为条件筛选使用。
例如有如下对象:

如果我们只需要 name 属性,则可以这样:

这个特性只对对象的根属性生效,例如:

即使第二层上也有name属性,但在筛选时并不会选中。
当对一个数组进行转换时,会筛选数组第一层的每个值,例如:

基本上数组的用法就是如此了。

函数的发挥空间是很大的,理所当然地用法也就比较多了。
当第二个参数为函数时,stringify() 会给函数传递两个参数,参数值为每一个成员的键和值。但跟数组参数不同的是,函数会处理所有层级上的每一个成员。
例如:

所有符合条件的内容都被修改了(注意『小红』是『小刚』的下一层)。
正是因为函数的这个特性,我们可以很方便地实现一些可能比较麻烦的功能。
比如上面的例子,如果不使用 stringify() 方法而想要修改所有层级上的age属性的值,就需要需要进行深循环。

上面的例子中,如果想要复制一份arr的数据,通常是进行深拷贝,但其实也可以使用stringify(),只需要配合 JSON.parse() 即可:

stringify() 不能处理值为函数的成员,当某个成员的值为函数时,在转换过程中会被自动排除,例如:

同样的,JSON.parse() 方法是不能处理函数格式的字符串的。

深度使用json.stringify()

按照JSON的规范,使用JSON.stringify()做对象序列化时,如果一个属性为函数,那这个属性就会被忽略。constdata1={a:‘aaa‘,fn:function(){returntrue}}JSON.stringify(data)//结果是"{"a":"aaa"}"还有一种情况,一个属性的值为undefinedconstdata2={a:‘abc‘,... 查看详情

在 JSON.stringify 中使用变量

】在JSON.stringify中使用变量【英文标题】:useavariableinJSON.stringify【发布时间】:2014-03-0915:22:13【问题描述】:我在我的节点restful服务器中使用stringify来提供数据:answer=JSON.stringify(activities:result,null,\'\\t\');returnanswer其中result是一... 查看详情

json.stringify(),json.parse(),tojson()方法使用

JSON.stringify():将value(Object,Array,String,Number...)序列化为JSON字符串JSON.parse():将JSON数据解析为js原生值toJSON(),作为JSON.stringify中第二个参数(函数过滤器)补充,理解内部顺序很重要。假设把一个对象传入JSON.stringify()序列化对象的顺序如... 查看详情

qs.stringify、qs.parse、json.stringify的使用和区别

...安装,是一个npm仓库所管理的包。importqsfrom'qs'而qs.stringify()将对象序列化成URL的形式,以&进行拼接。如图qs.parse()将URL解析成对象的形式JSON是正常类型的JSON JSON.stringify同qs.stringify()对比,功能虽然是都是序列化,但是... 查看详情

使用 JSON.stringify(queryObject) 时来自 mongoose js 的意外行为

】使用JSON.stringify(queryObject)时来自mongoosejs的意外行为【英文标题】:UnexpectedbehaviorfrommongoosejswhenusingJSON.stringify(queryObject)【发布时间】:2021-08-2821:30:08【问题描述】:当我执行JSON.stringify(theKey:\'some\\thing\'时,结果将是:"theKey":"s... 查看详情

关于vue中json.parse(json.stringify(...))使用深拷贝问题

一般我们单独用JSON.parse()或JSON.stringify()今天在学vue看到JSON.parse(JSON.stringify(...))的用法,这里研究一下;首先分别说下他们的用法:  JSON.parse() 是将字符串中的对象解析出来例: varstr="{‘name‘:‘huahua‘,‘age‘:‘22‘}... 查看详情

在 Angular2 模板的表达式中使用 JSON.stringify

】在Angular2模板的表达式中使用JSON.stringify【英文标题】:UsingJSON.stringifyinanexpressioninAngular2template【发布时间】:2016-12-0200:36:45【问题描述】:我有一个小表达式来检查两个对象是否不同,以便显示这个元素(通过添加类名):&l... 查看详情

格式化输出json

参考技术AJSON.stringify()是将JavaScript对象转换为JSON的规范方法。有许多JavaScript框架在内部都使用了JSON.stringify(),比如Express框架的res.json()和Axiosbody序列化。但是,默认情况下,JSON.stringify()输出的JSON格式,不带空格或颜色。在后... 查看详情

JSON.stringify() 数组的怪异与 Prototype.js

】JSON.stringify()数组的怪异与Prototype.js【英文标题】:JSON.stringify()arraybizarrenesswithPrototype.js【发布时间】:2012-11-2502:06:51【问题描述】:我正在尝试找出我的json序列化出了什么问题,将我的应用程序的当前版本与旧版本一起使用... 查看详情

相当于 JSON.stringify 的 jquery [重复]

】相当于JSON.stringify的jquery[重复]【英文标题】:jqueryequivalentforJSON.stringify[duplicate]【发布时间】:2012-06-2213:17:18【问题描述】:可能重复:SerializingtoJSONinjQuery我在我的javascript代码中使用jquery作为库。但有时我必须JSON.stringify()。... 查看详情

JSON.stringify 和 JSON.parse 之间的区别

】JSON.stringify和JSON.parse之间的区别【英文标题】:DifferencebetweenJSON.stringifyandJSON.parse【发布时间】:2013-07-2101:42:07【问题描述】:我一直对何时使用这两种解析方法感到困惑。在我回显我的json_encoded数据并通过ajax将其取回后,我... 查看详情

json.stringify()的使用

参考技术A复制粘贴一下JSON.stringify()三个参数的含义:返回值:返回包含JSON文本的字符串。从上面的参数说明中可以看到,第二个参数可以是一个函数或者数组,这给了我们很大的发挥空间。stringify()的第一个和第三个参数都好... 查看详情

如何正确使用 JSON.stringify 和 json_decode()

】如何正确使用JSON.stringify和json_decode()【英文标题】:howtouseJSON.stringifyandjson_decode()properly【发布时间】:2013-04-0520:36:46【问题描述】:我试图通过以下方式将多维Javascript数组传递到我网站上的另一个页面:在数组上使用JSON.strin... 查看详情

你所不知道的json.stringify(代码片段)

译者按:老司机们,你知道JSON.stringify还有第二个和第三个可选参数吗?它们是什么呢?原文:Whatyoudidn’tknowaboutJSON.Stringify译者:Fundebug为了保证可读性,本文采用意译而非直译。另外,本文版权归原作者所有,翻译仅用于学习。JSO... 查看详情

如何删除嵌套的 JSON.stringify() 属性

】如何删除嵌套的JSON.stringify()属性【英文标题】:HowtoremovenestedJSON.stringify()properties【发布时间】:2017-08-2618:05:38【问题描述】:我正在尝试使用Typescript修改字符串。该字符串由JSON.stringify()方法创建。我想删除"inputPort"的属性"id... 查看详情

json.stringify方法

用过json的应该都知道,把一个对象通过 stringify 之后提交给后台或者存储在 Storage 里是很常用的手段。但是IE6-7下没有JSON对象,所以要借助 json2.js 来实现。今天我们来简单介绍下 stringify 方法的一... 查看详情

jquery解决ie6、7、8不能使用json.stringify函数的问题

...数将JSON对象转换成JSON字符串,解决IE6、7、8不能使用JSON.stringify函数的问题!复制代码代码如下:<!--[ifltIE9]><scriptsrc="json2.js"></script><![endif]-->这样JSON.stringify便可以正常使用!得到JSON字符串后传回服务器... 查看详情

angular.copy() 和 JSON.parse(JSON.stringify()) 之间的区别?

】angular.copy()和JSON.parse(JSON.stringify())之间的区别?【英文标题】:Differencesbetweenangular.copy()andJSON.parse(JSON.stringify())?【发布时间】:2015-06-2902:18:45【问题描述】:有人能解释一下angular.copy()和JSON.parse(JSON.stringify())之间的区别吗?... 查看详情