<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script>
    var o = { a: 1, b: 2, c: 3, d: 4 }
    var s = $.param(o);
    alert(s)
    var arr = s.split('&'), item;
    var NO = {};
    for (var i = 0; i < arr.length; i++) {
        item = arr[i].split('=');
        NO[item[0]] = item[1];
    }
    console.log(NO);
</script>

解决方案 »

  1.   

    jq 有一个 param 方法可以将 json 对象序列化成串
    但没有提供相应的反序列化方法,不过可以自己写一个备用$.unparam = function(s) {
      var t = s.split(/&|=/);
      var r = {};
      for(var i=0; i<t.length; i+=2) r[t[i]] = t[i+1];
      return r;
    }于是对于 a=5&b=6&c=7&d=8 就有x = $.unparam('a=5&b=6&c=7&d=8');
    alert(x.b);
    输出 6