JSFiddle - React, Tailwind, and code Playground

JavaScript

var regex = /([,{])|("(?:\\[\s\S]|[^"])*"|true|false|null|[0-9.eE+-]+)|((?:\/\/|#)[^\n]*)|(\/\*[\s\S]*?\*\/)/g;
var nextIsKey = false;
var nextIsReplaced = false;
var replaceKey = "aaa";
var replaceValue = '"Its works!"'; // заменяем строковым значением
var replacer = function( $0, $1, $2, $3, $4 ) {
    if ( typeof $1 !== 'undefined' ) {
        nextIsKey = true;
    } else if ( typeof $2 !== 'undefined' ){
        if ( nextIsReplaced ) {
            nextIsKey = false;
            nextIsReplaced = false;
            return replaceValue;
        };
        if ( nextIsKey && $2 == '"'+replaceKey+'"' ) nextIsReplaced = true;
        nextIsKey = false;
    }
    return $0; // не меняем ничего, если это не указано отдельно
}
var jComm = '//first line\n\
\n\
	{"aaa": "qwerty",//00\n\
	"bbb": 1234 //comment (not pure JSON syntax)\n\
	,"ccc": true # alternative comment style\n\
	,"dd\\"d":/*multiline\\" comm\\ent*/ /*comm2\\*/null,\n\
	"ee//e": "example of any symbols in key including inactive comments",\n\
	"jsonComm":/*is*/"data format",/*which contains*///comments\n\
	"multiline1" /*: 1, //- example of multiline comments\n\
	"multiline2": 2,\n\
	"multiline3":= 1234,*/ :[36.8,false/*,34*/,\n\
		"/**/",[1,2,3,4,[//56789\n\
		5,6,[[/*0*/7,{"x":/*xx*/"x"}],8]],{}]  ],\n\
	"mayBeAnyStructure":{"a":1/**/,"b":2},\n\
 "lineEnd\\\\" \n\
 :"end"\n\
}//after json\n  \n /*2*/  ';
console.log( jComm.replace( regex, replacer ) );