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取出来就好了。
      

  • 相关阅读:
    重写保存按钮save事件
    隐藏列获取不到值,表格选中行提示未选中
    前后台获取上下文context
    editGrid分录表格
    通用查询-高级查询
    js保留位和取整
    在Visual Studio中使用C++创建和使用DLL
    Lua中的一些库(1)
    Lua中的面向对象编程
    Lua中的模块与包
  • 原文地址:https://www.cnblogs.com/hjdjs/p/9315251.html
Copyright © 2011-2022 走看看