美文网首页
参数序列化为字符串(用于路径参数)

参数序列化为字符串(用于路径参数)

作者: L张先生 | 来源:发表于2019-12-27 15:27 被阅读0次

有对象数据如下

var param = {
   name:'zhangsan',
   sex:'male',
   extra:'中文'
}

可存在如下序列化方法

  • jquery.param(),不适合含有嵌套对象、数组的对象
  name=zhangsan&sex=male&extra=%E4%B8%AD%E6%96%87

所以若是包含复杂嵌套对象或数组,如如下数据

        var params = {
            name:'zhangsan',
            sex:'male',
            ext:'中文',
            arr:[
                    {
                         id:'1'
                     },
                    {
                         id:'2'
                   }
            ]
        }
  • 结合JSON.stringify()使用
       var params = {
               name:'zhangsan',
               sex:'male',
               ext:'中文'
           
       }
       var arr = [];
       var arr1 = {};
       arr1["id"] = '1';
       var arr2 = {};
       arr2["id"] = '二';
       arr.push(arr1);
       arr.push(arr2);
       console.log(jquery.param(params););
       console.log(JSON.stringify(arr));
打印结果是:
name=zhangsan&sex=male&ext=%E4%B8%AD%E6%96%87
[{"id":"1"},{"id":"二"}]


由于JSON.stringify()不会对中文进行URL编码,所以value存在中文时还需要使用方法 encodeURIComponent

相关文章

网友评论

      本文标题:参数序列化为字符串(用于路径参数)

      本文链接:https://www.haomeiwen.com/subject/bnjdoctx.html