zoukankan      html  css  js  c++  java
  • 你可能忽略的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取出来就好了。
      

  • 相关阅读:
    this用法
    break/continue的使用
    解决:sql server无法在C盘下创建database/操作系统错误5(拒绝访问)
    (转)科普:SATA、PCIe、AHCI、NVMe
    Java按位取反运算符“~”的工作原理
    <剑指offer> 第12题
    <剑指offer> 第11题
    <剑指offer> 第10题
    <剑指offer> 第9题
    <剑指offer> 第8题
  • 原文地址:https://www.cnblogs.com/hjdjs/p/9315251.html
Copyright © 2011-2022 走看看