Сериализовать С# POCO, содержащий неанглийские символы, в JSON

Итак, у меня есть этот класс C# POCO, и некоторым его свойствам может быть назначена строка, содержащая неанглийские символы, например "ç" и "õ".

В моем классе контроллера я получил это:

public ActionResult GetBuildStages()
{
    var buildStages = SubcategoriesViewModel.GetBuildStages();

    return Json(buildStages, JsonRequestBehavior.AllowGet);
}

И когда я загружаю полученный JSON в свое представление (javascript), используя $.getJSON, эти символы, упомянутые выше, например, будут отображаться как «ç», для «ç< /strong>" и "õ" для "õ"

Будем очень признательны за любые мысли о том, как правильно сериализовать эти символы, с которыми может работать какой-либо javascript.


person fduayer    schedule 05.01.2014    source источник
comment
@drew_w Хорошо, поэтому с помощью ответа Draw_w ниже я понял, что все, что мне нужно было сделать, это использовать вспомогательный метод @Html.Raw() Razor для предотвращения кодирования HTML, например @ Html.Raw(Model.PropertyName). Теперь все работает. Благодарю вас!   -  person fduayer    schedule 06.01.2014


Ответы (1)


Я считаю, что вы можете позволить .NET делать свое дело и просто использовать Javascript и браузер для декодирования символов (или всего), если это то, что вам нужно. Следующий вопрос о стеке касается того, как это сделать только с помощью javascript: Декодировать обратно в JavaScript и в него< /а>. Исходя из этого, вы, вероятно, будете смотреть на что-то вроде:

var div = document.createElement('div');
div.innerHTML = encoded;
var decoded = div.firstChild.nodeValue;

Надеюсь, это поможет!

person drew_w    schedule 05.01.2014