Javascript 用结果替换字符串中的occurance

Javascript 用结果替换字符串中的occurance,javascript,regex,Javascript,Regex,我有以下字符串: {"key1":"value1","key2":"value2","key3":"value3"} 我想将其转换为: {key1:"value1",key2:"value2",key3:"value3"} 所以我做了这样的事情: var output = str.replace(/"(.*?)":/, "$1:"); 这样我得到: {key1:"value1","key2":"value2","key3":"value3"} 所以它适用于第一个键,但不适用于其他键。如何

我有以下字符串:

{"key1":"value1","key2":"value2","key3":"value3"}
我想将其转换为:

{key1:"value1",key2:"value2",key3:"value3"}
所以我做了这样的事情:

var output = str.replace(/"(.*?)":/, "$1:");
这样我得到:

{key1:"value1","key2":"value2","key3":"value3"}

所以它适用于第一个键,但不适用于其他键。如何使用replace方法替换我在这里显示的所有事件?

在正则表达式中使用全局标志

str.replace(/"(.*?)":/g, "$1:");

您需要更改正则表达式:

var output = str.replace(/"(.*?)":/g, "$1:");

为什么要从键周围去掉引号?最终结果也应该是字符串吗?还是要将JSON转换为对象?如果需要后者,只需将该字符串输入
JSON.parse()