function StringToObject(str)
{
var a = '"';
str = str.split('.');
for(var i=0; i<str.length; i++) a += '}';
console.log('{"'+str.join('":{"')+a);
}
console.log( StringToObject('a.b.c.d') );
посмотрите что выводит.. не хватает присвоения:
{"a":{"b":{"c":{"d"}}}}
должно быть хотя бы так:
{"a":{"b":{"c":{"d": 1}}}}