我将 Knockout 与 MVC 一起使用,并且我见过的获取用于淘汰的视图模型的标准方法是这样的:
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"]}';