Tengo esta entrada {"a":["b","c","d"]}
Por alguna razón, necesito una salida como esta "{\"a\":[\"b\",\"c\",\"d\"]}"
En lugar de esto (usando JSON.stringify()) '{"a":["b","c","d"]}'
Sé que puedo escribir algunos reemplazos o algo así. ¿Hay algún método Javascript nativo para hacer esto?
El problema con el uso de un reemplazo personalizado es que corre el riesgo de que la cadena no sea JSON. En su lugar, puede simplemente stringify en cadena dos veces, lo que escapará correctamente de todos los caracteres especiales de modo que pueda analizarse de manera confiable en un objeto javascript válido.
const input = { 'a': ['A string with "quotes"', "c", "d"] }; const string = JSON.stringify(JSON.stringify(input)); console.log(string); const parsed = JSON.parse(JSON.parse(string)); console.log(parsed);prueba este
const a = {"a":["b","c","d"]} const output = JSON.stringify(a).replaceAll('"', '\\"') console.log(output)Espero que esto ayude