Javascript 将字符串从regexp匹配转换为对象

Javascript 将字符串从regexp匹配转换为对象,javascript,regex,Javascript,Regex,我有以下字符串: var str = 'jfkdjffddf{aaa:12,bbb:25}kfdjf'; 我想从中提取对象: var objStr = str.match('/{(.*?)}/')[1]; // aaa:12,bbb:25 现在,我想将此获取的字符串用作对象: var obj = JSON.parse('{' + objStr + '}'); 对其执行一些操作,再次转换为字符串并替换初始文本 问题是我在脚本的一行中得到了意外的标记a,因此问题可能是JSON.parse 有什

我有以下字符串:

var str = 'jfkdjffddf{aaa:12,bbb:25}kfdjf';
我想从中提取对象:

var objStr = str.match('/{(.*?)}/')[1]; // aaa:12,bbb:25
现在,我想将此获取的字符串用作对象:

var obj = JSON.parse('{' + objStr + '}');
对其执行一些操作,再次转换为字符串并替换初始文本

问题是我在脚本的一行中得到了
意外的标记a
,因此问题可能是
JSON.parse


有什么问题,我如何解决这个问题?

它不是有效的JSON。在JSON中,属性名称必须用引号括起来。@soren的可能重复项您是否建议他使用
eval()
将其转换为JavaScript对象?现在我得到
意外标记:
,即使JSON看起来是有效的-
{“aaa”:“12”,“bbb”:“25”}
尝试使用
objStr.replace(/([^:,]*?):([0-9]+)/g、 “\“$1\”:\“$2\”)
它不是有效的JSON。在JSON中,属性名称必须用引号括起来。@soren的可能重复项您是否建议他使用
eval()
将其转换为JavaScript对象?现在我得到
意外标记:
,即使JSON看起来是有效的-
{“aaa”:“12”,“bbb”:“25”}
尝试使用
objStr.replace(/([^:,]*?):([0-9]+)/g、 “\“$1\”:\“$2\”)