首页 > Web开发 > 详细

你可能忽略的json的坑!!!

时间:2018-07-15 22:46:19      阅读:209      评论:0      收藏:0      [点我收藏+]

json,前后端进行数据传输的一种格式,基本前后端分离的模式中已经非常的普遍了。而且,语法也很简答。他只有两个方法,parse,stringify.大家都不会陌生。那么今天我们来看一下你可能会忽略掉的json的一些坑。
1:json对于解析值为undefined的值有一些特别的处理。分为两种情况在对象中undefined将会被直接忽略掉。我们来做个测验。

 let obj = {name: undefined,age: 10}
 let result = JSON.stringify(obj)
console.log(result)
结果为 {"age":10}。
//你会看到出现在对象中的值为undefined的name被忽略掉了。

 第二个:undefined出现在数组中将会被置为null,继续测验。

 var obj = {name: [undefined,10]}
 var result = JSON.stringify(obj)
console.log(result)
结果为:{"name": [null,10]}

那么我们在前后端数据传输中就得特别注意了还有进行对象深拷贝时候就尽量规避使用json.parse(json.string(obj))。可能会导致一些其他问题。
最后再说一个json的用法。配合localStorage存储一个对象。我们知道localStorage只能存储字符串,因此我们可以利用json.stringify()转换为字符串,然后用的时候在通过parse取出来就好了。
  

你可能忽略的json的坑!!!

原文:https://www.cnblogs.com/hjdjs/p/9315251.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!