用正则表达式替换 JSON 键中的空格

Replace whitespace in JSON keys with regex

您好,我正在尝试使用正则表达式替换 heys 中的空格,所以 json 就像

{"december 25":"ho ho ho", "all I want": "christmas", "ids":["sandy","claws"]}

转换为

{"december_25":"ho ho ho", "all_I_want": "christmas", "ids":["sandy","claws"]}

我调查了这个:Replace JSON key with Regex

但我没有找到调整它来替换空格而不是字符的方法。

谢谢!

您可以使用此正则表达式,它针对 space 仅出现在键中,

\s(?=[^,"]*"\s*:)

Demo

Javascript 演示,

s = '{"december 25":"ho ho ho", "all I want": "christmas", "ids":["sandy","claws"]}';
console.log('Before:', s);
console.log('After:', s.replace(/\s(?=[^,"]*"\s*:)/g, '_'));