0

I have the following string:

var myString = 'param1=value1&param2=value2&param3=value3';

and want to transform it into this:

var new = {
    'param1': 'value1', 
    'param2': 'value2', 
    'param3': 'value3'
}

What is the shortest way to do it? Thanks

Johannes Scherg
  • 129
  • 2
  • 7
  • tymeJV answer is correct, but why not using standard JSON parsing/stringifying? `var myString = "{\"param1\"=\"value1\",\"param2\"=\"value2\",\"param3\"=\"value3\"}"` in that case you could use `var myObj = JSON.parse(myString);`. There are libraries in all common programming languages for operating with JSON if that is your concern. – Harazi Jun 25 '14 at 16:17

1 Answers1

3

Can do:

var parts = "param1=value1&param2=value2&param3=value3".split("&");
var myObj = {};
for (var i = 0; i < parts.length; i++) {
    var pairs = parts[1].split("=");
    myObj[pairs[0]] = pairs[1];
}
tymeJV
  • 103,943
  • 14
  • 161
  • 157