Return 默认 jSon 数据 属性

Return Default jSon Data With Property

我正在将数据从数据库转换为 jSon,如下所示 ASP.NET Web Api:

public string GetData(string userId)
{
    var settings = new JsonSerializerSettings
    {
        ContractResolver = new DefaultContractResolver()
    };

    string Query = "select USER_ID UserId, USER_NAME UserName from Table where USER_ID = '" + userId + "'";
    DataTable dt = SelectData(Query);

    string jSonResult;
    jSonResult = JsonConvert.SerializeObject(dt, settings);

    return jSonResult;
}

在项目的 web api 配置文件中,它具有以下设置:

public static void Register(HttpConfiguration config)
{
     EnableCorsAttribute cors = new EnableCorsAttribute("*", "*", "GET, POST");
      config.EnableCors(cors);

     //Web api routes
      config.MapHttpAttributeRoutes();
      
     config.Routes.MapHttpRoute(
            name: "DefaultApi",
            routeTemplate: "api/{controller}/{id}",
            defaults: new { id = RouteParameter.Optional }
     );

     GlobalConfiguration.Configuration.Formatters.Clear();
     GlobalConfiguration.Configuration.Formatters.Add(new System.Net.Http.Formatting.JsonMediaTypeFormatter());

}

它 return 给我预期的 jSon 数据,但问题是数据 returned 属性变成大写如下:

[
  {
    "USERID": "1002",
    "USERNAME": "John"
   
  }
]

虽然我使用格式化程序将其保留为默认设置,但它 return 就是上面的内容。我可以通过任何方式 return 如下属性:

[
  {
    "UserId": "1002",
    "UserName": "John"
  }
]

JsonSerializerSettings替换ContractResolver = new DefaultContractResolver() 进入 ContractResolver = new CamelCasePropertyNamesContractResolver()

例如

var settings = new JsonSerializerSettings
    {
        ContractResolver = new CamelCasePropertyNamesContractResolver()
    };
 public static string GetData(string userId)
        {

             

            DataTable dt = new DataTable();
            dt.Columns.Add("UserID", typeof(int));
            dt.Columns.Add("UserName", typeof(string));
            
            //Some dummy data
            dt.Rows.Add(1, "Townsend");
            dt.Rows.Add(2, "Marget");
            dt.Rows.Add(3, "Deva");
            dt.Rows.Add(4, "Aurthur");

            
             
            var settings = new JsonSerializerSettings
            {
                ContractResolver = new DefaultContractResolver()
                
            };


            string jSonResult;
            jSonResult = JsonConvert.SerializeObject(dt);


            return jSonResult;


        }

会return下面的结果

[
  {
    "UserID": 1,
    "UserName": "Townsend"
  },
  {
    "UserID": 2,
    "UserName": "Marget"
  },
  {
    "UserID": 3,
    "UserName": "Deva"
  },
  {
    "UserID": 4,
    "UserName": "Aurthur"
  }
]