У меня есть следующие JSON строка, которая должна быть вставлена непосредственно в базу данных в одном столбце:Экранирования JSON, чтобы избежать изменений строкового вставить
const jsString = JSON.stringify({"escaping":"d\"on't"});
const insertion = [{"a":2,"json":jsString}];
const query = pgp.helpers.insert(insertion,["a","json"],"tbl");
однако, что на самом деле заканчивается в базе данных:
{"escaping":"d"on't"}
удаление убегающей \ в d "on't и делает строку недопустимого JSON. есть ли какой-нибудь способ избежать этого?
Это было бы выгодно, так как было бы хорошо, если бы моим действительным json остался бы таким.
Попробуйте использовать двойную обратную косую черту. Потому что один из них потребляется самим JavaScript. – ahwayakchih
на самом деле сделать его тройным, дважды поставить один обратный слэш в базу данных и еще один, чтобы избежать двойного кавычки в JS. – ahwayakchih
Вы пробовали это '{" escaping ":" d \\\ "on't"} '? Что такое строка, которую вы хотите сохранить? Этот код сохранит это {" escaping ":" d \ "on ' t "} –