У вас нет формата JSON - у вас есть что-то ближе к буквенной нотации объекта JS, за исключением того, что это строка, а не код JS, поэтому, к сожалению, нельзя использовать JSON.parse
.
Если значения неЕсли у вас нет запятых или двоеточий, вы можете split
строку запятыми и reduce
в объект:
const input = `{stamp:'HMzWoJn8V4ZkdRN1DduMHLhS3dKiDDr6VoXCjjeuDMO2w6V+n2CcOg==',necessary:true,preferences:true,statistics:true,marketing:false,ver:1}`;
const obj = input
.slice(1, input.length - 1)
.split(',')
.reduce((obj, str) => {
const [key, val] = str.split(':');
obj[key] = val;
return obj;
}, {});
console.log(obj);
eval
- еще один вариант, но он небезопасен.