"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como escapar de caracteres de nova linha em strings JSON com JavaScript?

Como escapar de caracteres de nova linha em strings JSON com JavaScript?

Publicado em 2024-11-10
Navegar:863

How to Escape Newline Characters in JSON Strings with JavaScript?

Escapando caracteres de nova linha em strings JSON com JavaScript

Strings JSON geralmente exigem a inclusão de novos caracteres de linha para facilitar a leitura. No entanto, esses caracteres podem causar problemas quando transmitidos diretamente no formato JSON. Para resolver isso, é essencial escapá-los antes de enviar a string.

Opção 1: usando JSON.stringify() e .replace()

Primeiro, converta o objeto JSON para uma string usando JSON.stringify():

var json = JSON.stringify({"value": "This \nis a test"});

Em seguida, escape os caracteres de nova linha usando .replace():

var escapedJson = json.replace(/\\n/g, "\\\\n");

Isso substitui todas as instâncias de "\n" por "\n", escapando com sucesso os caracteres de nova linha.

Opção 2: Escapando caracteres especiais usando uma função reutilizável

Para escapar de todos os caracteres especiais, incluindo caracteres de nova linha, você pode criar uma função reutilizável:

String.prototype.escapeSpecialChars = function() {
  return this.replace(/\\n/g, "\\\\n")
             .replace(/\\'/g, "\\\\'")
             .replace(/\\"/g, '\\\\"')
             .replace(/\\&/g, "\\\\&")
             .replace(/\\r/g, "\\\\r")
             .replace(/\\t/g, "\\\\t")
             .replace(/\\b/g, "\\\\b")
             .replace(/\\f/g, "\\\\f");
};

Esta função pode ser aplicada a qualquer string que precise de escape:

var json = JSON.stringify({"value": "This \nis a test"});
var escapedJson = json.escapeSpecialChars();

Ambas as opções escapam efetivamente de caracteres de nova linha em strings JSON, garantindo compatibilidade ao transmitir dados JSON.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3