Экранирование символов новой строки в строках 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