Convert Object key into child object

by Chris Lee

HTML

<h2>Existing Output</h2>
<pre>{ 
    data[name]: "foo",
    data[address]: "baz drive",
    data[city]: "Dallas",
    data[state]: "Texas",
    data[phone]: "555-1212"
}</pre>

<h2>Desired Output</h2>

<pre>{ 
    data: {
        name: "foo",
        address: "baz drive",
        city: "Dallas",
        state: "Texas",
        phone: "555-1212"
    }
}</pre>

JavaScript

var o =   { 
    "data[name]": "foo",
    "data[address]": "baz drive",
    "data[city]": "Dallas",
    "data[state]": "Texas",
    "data[phone]": "555-1212"
}

var temp = {};

for (key in o) {
    var objname = key.match(/(.+)\[(.+)\]/)[1];
    var keyname = key.match(/(.+)\[(.+)\]/)[2];
    
    temp[objname] = temp[objname] || {};
    temp[objname][keyname] = o[key];
}
console.log(JSON.stringify(temp));