JavaScriptSerializer(). Сериализация: PascalCase для CamelCase
У меня есть этот объект javascript
var options:
{
windowTitle : '....',
windowContentUrl : '....',
windowHeight : 380,
windowWidth : 480
}
И у меня этот класс С#
public class JsonDialogViewModel
{
public string WindowTitle { get; set; }
public string WindowContentUrl { get; set; }
public double WindowHeight { get; set; }
public double WindowWidth { get; set; }
}
И вы видите, мои обозначения PascalCase на С#, а мой Javascript - CamelCase.
Это обычное соглашение.
Я использую JavaScriptSerializer(). Сериализуем, чтобы сериализовать мой объект С# и использовать его в моем коде Javascript.
Я столкнулся с этой проблемой PascalCase с CamelCase, что JavaScriptSerializer(). Serialize не обрабатывает.
Что вы предлагаете обойти этот перевод?
Спасибо
Ответы
Ответ 1
Лучшее решение, которое я смог найти, это получить метод, который получает объект, который будет сериализован, генерирует Dictionary<string, object>
на основе свойств объекта, а затем применит JavaScriptSerializer.Serialize()
к этому словарю.
Это было достаточно хорошо для того, что мне нужно.
Ответ 2
Возможно, вы можете использовать DataContractJsonSerializer вместо этого? Здесь приведены связанные вопросы с ответом, в котором объясняется, как его использовать: ASP.NET MVC: управление сериализацией имен свойств с помощью JsonResult