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

Posted 未来-竭尽全力

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了你可能忽略的json的坑!!!相关的知识,希望对你有一定的参考价值。

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的坑!!!的主要内容,如果未能解决你的问题,请参考以下文章

element ui 库中 表单部分 一个很容易忽略的坑!

容易忽略的坑——对象的深拷贝

cocoapods的安装,使用,卸载,以及你可能会遇到的坑..

你可能不知道的JavaScript代码片段和技巧(下)

你可能不知道的JavaScript代码片段和技巧(上)

json 单击VSCode的setup.py片段(可能还有其他编辑器)