Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/333.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何使用JavaScriptSerializer强制camelcase?_C#_Asp.net Mvc_Asp.net Mvc 4 - Fatal编程技术网

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。