将请求字符串反序列化为数组

时间:2017-04-03 23:41:39

标签: javascript jquery

在Javascript中,如果您serialize()键/值数组对,那么您将获得类似single=Single&multiple=Multiple的内容。有没有办法“反序列化”此字符串以再次获取键/值对数组?如果没有,最有效的方法是什么?

1 个答案:

答案 0 :(得分:0)

在这里回答:https://stackoverflow.com/a/10126995/183181



var str = 'single=Single&multiple=Multiple';
console.log( getParams(str) );


function getParams (str) {
   var queryString = str || window.location.search || '';
   var keyValPairs = [];
   var params      = {};
   queryString     = queryString.replace(/.*?\?/,"");

   if (queryString.length)
   {
      keyValPairs = queryString.split('&');
      for (pairNum in keyValPairs)
      {
         var key = keyValPairs[pairNum].split('=')[0];
         if (!key.length) continue;
         if (typeof params[key] === 'undefined')
         params[key] = [];
         params[key].push(keyValPairs[pairNum].split('=')[1]);
      }
   }
   return params;
}




相关问题