Я использую Нокаут с MVC и стандартным методом я видел, чтобы получить модель представления для нокаута, как это:экранировать специальные символы в формате JSON закодированной строке
var model = '@Html.Raw(Json.Encode(Model))';
var viewModel = ko.mapping.fromJSON(model);
Но если моя модель имеет строковые свойства со специальными символами в них, например '\ r \ n' Я получаю сообщение об ошибке синтаксического анализа JSON «неожиданный токен».
Поэтому я считаю, что мне нужно избежать этих символов, чтобы они были похожими на «\\ r \\ n». Как это сделать?
Я знаю, что могу просто сделать это для этого конкретного случая:
var model = '@Html.Raw(Json.Encode(Model).Replace(@"\", @"\\"))';
, но могут быть и другие ... Вкладки, одиночные кавычки.
Ниже приведен пример фактической оказанной модели в браузере:
var model = '{"Id":4465,"TextContents":["EYE FILLET STEAK\r\nLINE 2 IS HERE"]}';
Это похоже на действительный JSON для меня. Почему он заключен в кавычки? –
Это должно быть насколько я знаю из-за того, что MVC хочет делать что-то. Его синтаксическая ошибка в представлении «Бритва», если я удалю цитаты. – user380689
Вставить ошибку. Вам не нужны кавычки. –