Я использую JSON.Net в качестве своего сериализатора для большого веб-приложения MVC 3 в С# и механизма просмотра Razor. Для начальной загрузки страницы в одном представлении большое количество JSON сбрасывается внутри тега script, используя @Html.Raw(JsonConvert.SerializeObject(myObject))
.
Проблема заключается в том, что некоторые значения некоторых объектов содержат апострофы (например, имена O'Brien), которые JSON.Net никак не экранирует или кодирует.
Это не вариант предварительного кодирования значений, хранящихся в базе данных, поскольку это значительно усложняет различные другие процессы.
Есть ли способ заставить JSON.Net для HTML кодировать значения объектов, которые он сериализует, так же, как это делает встроенный JavaScriptSerializer при вызове JavaScriptSerializer.Serialize(myObject)
? Или, есть ли способ справиться с этим в представлении?