JavaScript: trasformare una query string in un oggetto

Short link

Trasformare una query string in un oggetto è un'operazione molto utile con le API AJAX.

Possiamo implementare la seguente funzione di utility:


var queryStringToObject = function( str ) {
	var parts = str.split( "&" );
	var obj = {};
	
	for( var i = 0; i < parts.length; ++i ) {
		var part = parts[i];
		var pair = part.split( "=" );
		var name = pair[0];
		var value = pair[1];
		obj[name] = value;
	}	
	
	return obj;
};

Esempio d'uso:


var query = "test=foo&bar=1";

var obj = queryStringToObject( query );

// { test: "foo", bar: 1 }