• qs.parse()、qs.stringify() 、JSON.stringify()以及JSON.parse()的区别


      这3个方法是JavaScript语言中的方法,前端开发中经常使用的。

      一、qs.stringify()和qs.parse()

      qs是一个npm仓库所管理的包,可通过npm install qs命令进行安装. 

      1. qs.parse()将URL解析成对象的形式

      2. qs.stringify()将对象 序列化成URL的形式,以&进行拼接。

      这个方法在一些特殊情况特别有用。比如当我们使用axios发post请求的时候,需要向服务端api传参,这些参数往往是组织成一个对象,如下代码所示:  

    axios({
        method: 'post',
        url: 'comment',
        data:{                        
            srcId : this.id, 
            content: this.msg,
            add_time: new Date()
        }
    }).
    then(response => {
        //......
    }); 

      这个代码在执行的时候就会报错,究其错误,是服务器无法正确获取到post过来的参数。

      你需要做的就是,要把传递给服务器的参数对象,使用qs.stringify()进行转换。正确代码如下:  

    axios({
        method: 'post',
        url: 'comment',
        data: qs.stringify({      // 转换要传递的参数                  
            srcId : this.id, 
            content: this.msg,
            add_time: new Date()
        })
    }).
    then(response => {
        
    }); 

      二、JSON.stringify()和JSON.parse()

      1.JSON.parse() 将 JavaScript 对象表示法 (JSON) 字符串转换为JSON对象。

      2.JSON.stringify() 将 JSON对象 转换为 JavaScript 对象表示法 (JSON) 字符串   

      例如:我们往localstorage中持久化数据的时候,只能存储字符串,所以,如果待存储的数据是个js对象,那么就需要使用JSON.stringify()转换成字符串,然后再进行本地化存储  

    var cart = [{id: "102", price: 5528}, {id: 101,price: 268}];
    localStorage.setItem('cart', JSON.stringify(cart));
  • 相关阅读:
    XMLHttpRequest 对象相关
    slideToggle()---单击隐藏/浮现--jQuery--click() 方法
    如何打开无线网卡开关(常见无线网卡开关样式)-----记一次令人脸红的羞耻操作
    之前写的页面导出Excel表格
    word 快捷键 部分
    windows 快捷键 部分
    推荐几款屏幕录制工具(可录制GIF)
    【myeclipse2014-2017】使用相关
    嵌套的JsonObject与JSONArray的取值---JSON中嵌套JSONArray
    图片素材库
  • 原文地址:https://www.cnblogs.com/ldq678/p/10988854.html
Copyright © 2020-2023  润新知