JavaScript Object (JSON) to URL String Format
2018 update
var obj = { "version" : "22", "who" : "234234234234"};const queryString = Object.entries(obj).map(([key, value]) => { return `${encodeURIComponent(key)}=${encodeURIComponent(value)}`;}).join('&');console.log(queryString); // "version=22&who=234234234234"
Original post
Your solution is pretty good. One that looks better could be:
var obj = { "version" : "22", "who" : "234234234234"};var str = Object.keys(obj).map(function(key){ return encodeURIComponent(key) + '=' + encodeURIComponent(obj[key]); }).join('&');console.log(str); //"version=22&who=234234234234"
+1 @Pointy for encodeURIComponent