JavaScriptSerializer(). Сериализация: от PascalCase к CamelCase

У меня есть этот объект JavaScript

var options:
 {
        windowTitle         : '....',
        windowContentUrl    : '....',
        windowHeight        : 380,
        windowWidth         : 480
}

И у меня есть этот класс C#

public class JsonDialogViewModel
    {
        public string WindowTitle               {   get;    set;    }
        public string WindowContentUrl          {   get;    set;    }
        public double WindowHeight              {   get;    set;    }
        public double WindowWidth               {   get;    set;    }

    }

И вы видите, моя нотация - это PascalCase в C#, а мой Javascript - это CamelCase. Это обычное соглашение.

Я использую JavaScriptSerializer().Serialize для сериализации моего объекта C# и использования его в моем коде Javascript.

Однако я сталкиваюсь с этой проблемой PascalCase для CamelCase, которая не обрабатывается JavaScriptSerializer().Serialize.

Что вы предлагаете обойти этот перевод?

Спасибо

2 ответа

Лучшее решение, которое я мог найти, было иметь метод, который получает объект для сериализации, генерирует Dictionary<string, object> на основе свойств объекта, а затем применить JavaScriptSerializer.Serialize() в этот словарь.
Этого было достаточно для того, что мне было нужно.

Может быть, вы можете использовать вместо DataContractJsonSerializer? Вот связанные вопросы с ответом, объясняющим, как его использовать: ASP.NET MVC: Управление сериализацией имен свойств с помощью JsonResult

Другие вопросы по тегам