cube
cube

Reputation: 1802

String to Object literal

Is it possible to convert a string var:

 data="data1,data2,data3,data4"

to an object literal

data={
"data1":"data2",
"data3":"data4"
}

Thank you!

Upvotes: 1

Views: 3572

Answers (2)

Jacob Relkin
Jacob Relkin

Reputation: 163238

This is trivial:

function object_from_string(str) {
   var parts = str.split(','),
       obj   = {};
   for(var i = 0, j = parts.length; i < j; i+=2;) {
       obj[parts[i]] = parts[i+1];
   }
   return obj;
}

var data = "data1,data2,data3,data4";
var obj = object_from_string(data);
for(var k in obj) {
   if(obj.hasOwnProperty(k)) {
      console.log(k + ' = ' + obj[k]);
   }
}

Output:

data1 = data2
data3 = data4

Upvotes: 6

deceze
deceze

Reputation: 522042

var arr = data.split(',');
var parsedData = {};
for (var i = 0; i < arr.length; i += 2) {
    parsedData[arr[i]] = arr[i + 1];
}

Upvotes: 6

Related Questions