Me gustaría agregar un conjunto de comillas escapadas alrededor de todas las claves de primer nivel en un objeto JSON.
const j = '{"a": "b", "c": "d"}'; let obj = JSON.parse(j); Object.keys(obj).forEach(k => { k = `\"${k}\"`; }); console.log(JSON.stringify(obj, null, 2));que por supuesto da
{ "a": "b", "c": "d" }ya que necesito hacer la sustitución en el objeto real.
Pero, ¿cómo puedo actualizar las claves en su lugar?
Esto debería funcionar. Simplemente defina una nueva clave y asígnele el mismo valor que la clave anterior, luego elimine la clave anterior.
const j = '{"a": "b", "c": "d"}'; let obj = JSON.parse(j); Object.keys(obj).forEach(k => { obj[`\"${k}\"`] = obj[k]; delete obj[k]; }); console.log(JSON.stringify(obj, null, 2));