在JSON web-api上公开的对象 - 如何阻止属性名称更改大小写?

Wha*_*ves 3 c# asp.net-mvc json

我有一个对象模型,看起来像:

public class Product
{
    public string ProductCode { get; set; }
    public string ProductInfo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

我通过Dapper填充它,并将它暴露给angular.js使用者,但JSON中的属性名称如下:

{
     "productCode": 1,
     "productInfo": "Product number 1"
}
Run Code Online (Sandbox Code Playgroud)

特别注意驼峰式的情况.我希望它与原始声明的名称相匹配,即

{
     "ProductCode": 1,
     "ProductInfo": "Product number 1"
}
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Mar*_*ell 6

在幕后,很可能web-API使用JSON.Net作为JSON序列化引擎; 这意味着您可以使用JSON.Net的属性控制输出,例如:

public class Product
{
    [JsonProperty("ProductCode")]
    public string ProductCode { get; set; }
    [JsonProperty("ProductInfo")]
    public string ProductInfo { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

没有这些,JSON.Net使用约定和配置 - 通常的JSON约定使用camel-case,因此这是默认的.你可以也可能更改默认配置,但除非你理解的影响范围我建议不要这一点.