Я должен как минимум сделать предположение, что все ваши КЛЮЧИ не содержат запятую. Потому что, скажем, у вас есть: {a: b, c, d: e} Не ясно, должно ли это быть: {a: "b", "c, d": "e"} или {a: "b, c", d: "e"}
Просто для простоты я также предполагаю, что в вашем ключе или значении нет символов {,},: ...
Выражение:
JSON.parse(
str
.replace(new RegExp('{','g'),'{"')
.replace(new RegExp('}','g'),'"}')
.replace(new RegExp(':','g'),'":"')
.replace(new RegExp(',([^{][^,]*:)','g'),'","$1')
)
Это будет результат:
![enter image description here](https://i.stack.imgur.com/C03sn.png)