JavaScriptSerializer()。Serialize:PascalCase到CamelCase

时间:2011-03-22 18:25:00

标签: javascript c# serialization camelcasing pascalcasing

我有这个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;    }

    }

你看,我的符号是C#中的PascalCase,而我的Javascript是CamelCase。 通常的惯例。

我正在使用 JavaScriptSerializer()。Serialize 来序列化我的C#对象并在我的Javascript代码中使用它。

然而,我遇到了这个问题的PascalCase到CamelCase,JavaScriptSerializer()。Serialize无法处理。

你有什么建议来解决这个翻译?

谢谢

2 个答案:

答案 0 :(得分:2)

我能找到的最佳解决方案是拥有一个接收要序列化的对象的方法,根据对象的属性生成Dictionary<string, object>,然后将JavaScriptSerializer.Serialize()应用于此词典。 /> 这足以满足我的需要。

答案 1 :(得分:1)

也许您可以使用DataContractJsonSerializer代替?以下是相关问题以及解释如何使用它的答案:ASP.NET MVC: Controlling serialization of property names with JsonResult