«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > Как экранировать символы новой строки в строках JSON с помощью JavaScript?

Как экранировать символы новой строки в строках JSON с помощью JavaScript?

Опубликовано 10 ноября 2024 г.
Просматривать:332

How to Escape Newline Characters in JSON Strings with JavaScript?

Экранирование символов новой строки в строках JSON с помощью JavaScript

Строки JSON часто требуют включения символов новой строки для удобства чтения. Однако эти символы могут вызвать проблемы при прямой передаче в формате JSON. Чтобы решить эту проблему, важно экранировать их перед отправкой строки.

Вариант 1. Использование JSON.stringify() и .replace()

Сначала преобразуйте JSON в строку с помощью JSON.stringify():

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

Затем экранируйте символы новой строки с помощью .replace():

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

Это заменяет все экземпляры "\n" на "\n", успешно экранируя новую строку символов.

Вариант 2. Экранирование специальных символов с помощью функции многократного использования

Чтобы экранировать все специальные символы, включая символы новой строки, вы можете создать функцию многократного использования:

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");
};

Эту функцию можно применить к любой строке, которую необходимо экранировать:

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

Оба параметра эффективно экранируют символы новой строки в строках JSON, обеспечивая совместимость при передаче данных JSON.

Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3