我有这个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无法处理。
你有什么建议来解决这个翻译?
谢谢
答案 0 :(得分:2)
我能找到的最佳解决方案是拥有一个接收要序列化的对象的方法,根据对象的属性生成Dictionary<string, object>
,然后将JavaScriptSerializer.Serialize()
应用于此词典。 />
这足以满足我的需要。
答案 1 :(得分:1)
也许您可以使用DataContractJsonSerializer代替?以下是相关问题以及解释如何使用它的答案:ASP.NET MVC: Controlling serialization of property names with JsonResult