在JavaScript / jQuery中序列化对象来查询string
我试图find如何序列化一个对象查询string格式的信息,但我所有的search结果淹没在如何去其他方式(string/forms/无论到JSON)。
我有
{ one: 'first', two: 'second' } 
而且我要
 ?one=first&two=second 
有没有一个好的方法来做到这一点? 我不介意插件或whatnots – 如果我find的代码不是一个插件,我可能会重新写入一个无论如何…
 你想$.param() : http : //api.jquery.com/jQuery.param/ 
具体来说,你需要这个:
 var data = { one: 'first', two: 'second' }; var result = $.param(data); 
当给出这样的事情:
 {a: 1, b : 23, c : "te!@#st"} 
  $.param将返回这个: 
 a=1&b=23&c=te!%40%23st 
对于一个快速的非JQuery函数…
 function jsonToQueryString(json) { return '?' + Object.keys(json).map(function(key) { return encodeURIComponent(key) + '=' + encodeURIComponent(json[key]); }).join('&'); } 
注意这不处理数组或嵌套的对象。
另一个选项可能是node-querystring 。
 它在npm和bower都可用,这就是为什么我一直在使用它。 
或者YUI有http://yuilibrary.com/yui/docs/api/classes/QueryString.html#method_stringify 。
例如:
 var data = { one: 'first', two: 'second' }; var result = Y.QueryString.stringify(data);