C# 如何使用JavaScriptSerializer强制camelcase?
可能吗 我有一门课是这样的:C# 如何使用JavaScriptSerializer强制camelcase?,c#,asp.net-mvc,asp.net-mvc-4,C#,Asp.net Mvc,Asp.net Mvc 4,可能吗 我有一门课是这样的: public class ABC { [Key] [ScriptIgnore] public int Id { get; set; } public string Name { get; set; } public string AnotherField { get; set; } [ScriptIgnore] public virtual User User { get; set; } } 但是我想像
public class ABC
{
[Key]
[ScriptIgnore]
public int Id { get; set; }
public string Name { get; set; }
public string AnotherField { get; set; }
[ScriptIgnore]
public virtual User User { get; set; }
}
但是我想像这样序列化{“name”:“foo”,“anotherField”:“bar”}
而不是
{“Name”:“foo”,“AnotherField”:“bar”}
我是这样使用的:
return Request.CreateResponse(HttpStatusCode.OK, new JavaScriptSerializer().Serialize(obj));
您可以使用Newtonsoft.Json.Serialization中的驼峰大小写解析器; 在您的global.asax上,您可以在应用程序启动时注册它
using Newtonsoft.Json.Serialization;
protected void Application_Start()
{
config.Formatters.JsonFormatter.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
}
应该有帮助:。是的,这显然意味着您必须离开内置的序列化程序。如果您使用的是JSON.NET,那么它有一个
CamelCasePropertyNamesContractResolver
请参见Web.api的示例。很遗憾,这可能是重复的:此代码不适用于JavaScriptSerializer。