Если вы всегда получаете такую строку, то есть ключи и значения в двойных кавычках, вы можете добавить {...}
к строке и проанализировать ее как JSON :
// remove trailing comma, it's not valid JSON
var obj = JSON.parse('{' + str.replace(/,\s*$/, '') + '}');
Если нет, разделить строку также легко, предполагая, что ,
и :
не могут встречаться в ключах или значениях:
var obj = {},
parts = str.replace(/^\s+|,\s*$/g, '').split(',');
for(var i = 0, len = parts.length; i < len; i++) {
var match = parts[i].match(/^\s*"?([^":]*)"?\s*:\s*"?([^"]*)\s*$/);
obj[match[1]] = match[2];
}