javascript中将链接参数(FormUrlEncode)转为json对象

码云
2020-10-29 10:56

javascript中如何将p1=aaa&p2=bbb&p3=ccc的formurlencode格式转化为json格式,参考以下代码实现:

function param2Json(query) {
  var query_string = {};
  var vars = query.split("&");
  for (var i=0;i<vars.length;i++) {
    var pair = vars[i].split("=");
    pair[0] = decodeURIComponent(pair[0]);
    pair[1] = decodeURIComponent(pair[1]);
        // If first entry with this name
    if (typeof query_string[pair[0]] === "undefined") {
      query_string[pair[0]] = pair[1];
        // If second entry with this name
    } else if (typeof query_string[pair[0]] === "string") {
      var arr = [ query_string[pair[0]], pair[1] ];
      query_string[pair[0]] = arr;
        // If third or later entry with this name
    } else {
      query_string[pair[0]].push(pair[1]);
    }
  } 
  return query_string;
};

 

测试结果:

//p1=aaa&p2=bbb&p3=ccc
//{p1:"aaa",p2:"bbb",p3:"ccc"}

 

全部评论

相关文章