json.stringify()的深度使用

艾若菲      2022-02-12     202

关键词:

在使用JSON.stringify()对JSON数据进行序列化时

1> 如果里面的属性是function,则会被忽略

const data = {
     a: ‘a‘,
     fn: funciton() {
           return true   
      }   
}

JSON.stringify(data); // "{"a":"a"}"    *******fn属性被忽略了**********

2> 如果里面的属性的值是undefined, 也是会被忽略的

const data = {
     a: ‘a‘,
     b: undefined
}

JSON.stringify(data); // "{"a":"a"}"    *******b属性被忽略了**********

3>但是如果里面的属性值是null, 是不会被忽略的

const data = {
     a: ‘a‘,
     b: null
}

JSON.stringify(data); // "{"a":"a","b":null}"    *******b属性没有被忽略**********

其实JSON.stringify()有三个参数:stringify(value, [replacer, space](可选的, replacer: 自定义的函数,space: 格式化输出(相当于tab键,值的范围是[1(负数的时候默认是1),10]))),为了属性值为function和undefined的属性在序列化的时候不要被忽略,我们可以对replacer做操作

比如:

 

限制 JSON 字符串化深度

...h【发布时间】:2013-05-0404:35:30【问题描述】:当使用JSON.stringify(或类似的东西)对对象进行字符串化时,有一种方法可以限制字符串化深度,即只进入对象树的n层并忽略之后的所有内容(或者更好:在其中放置占位符,表示... 查看详情

json对象实现深度克隆

...obj.constructor===Object?:[]; if(typeofJSON==='object') vars=JSON.stringify(obj),//系列化对象 newobj=JSON.parse(s);//反系列化(还原) else if(newobj.constructor===Array) newobj.concat(obj); else for(variinobj) newobj[i]=obj[i]; returnnewobj;;这是js深度克隆... 查看详情

JSON.stringify 深层对象

】JSON.stringify深层对象【英文标题】:JSON.stringifydeepobjects【发布时间】:2012-12-0110:13:23【问题描述】:我需要一个从任何参数构建JSON有效字符串的函数,但是:通过不添加两次对象来避免递归问题通过截断超过给定深度来避免... 查看详情

使用 JSON.stringify 时不需要的数组索引

】使用JSON.stringify时不需要的数组索引【英文标题】:UnwantedarrayindexeswhenusingJSON.stringify【发布时间】:2012-02-1109:04:27【问题描述】:我使用JSON.stringify方法将数组传递给服务器。我有一个包含4个元素的数组:arr[10]=1;arr[20]=1;arr[30]... 查看详情

在 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... 查看详情