В JavaScript. Как сконвертировать объект в виде строки в сам объект?
const text = "{a:[1,2,{b:3}],c:{d:4},\"e\":\"qqq\"}";

const json = text.replace(/(?<=[\{,]\s*)([^",\{]*?)(?=\s*:)/g, a=>{
	return '"'+a+'"';
});

console.log(text); // {a:[1,2,{b:3}],c:{d:4},"e":"qqq"}
console.log(json); // {"a":[1,2,{"b":3}],"c":{"d":4},"e":"qqq"}

const obj = JSON.parse(json);

Александр, вот мой вариант, тоже наверное может сломаться (если в названии ключа должны быть запятая или левая фигурная скобка, а так же если одно из значений будет содержать что то типа "{cat: 5}"), но все остальные варианты отработает на ура
ближе всего к реальности будет этот вариант:
var str = "{cat: 5}";
var items = [];

var tokens = str.match(/{[^}]+}/g);
for (var i = 0; i < tokens.length; i++) {
    var segments = tokens[i].split(',');
    var item = {};
    for (var j = 0; j < segments.length; j++) {
        var pair = segments[j].replace(/{|}/, '').split(':');
        item[pair[0].trim()] = pair[1];
    }
    items.push(item);    
}

var obj = items;
console.log(obj);
просто выходные данные подточите потом, и получите отличный объект.