在C#中使用空数据类型初始化列表

时间:2020-03-06 18:02:41

标签: c#

你好,我正在使用C#来构建应用程序,我有一个具有这些属性的模型

     public class FormNXPModel{
        [Key]
        public int Id {get; set;}
        [Required]
        public string AppNumber {get; set;}
        [Required]
        public string FormNumber {get; set;}
        [Required]
        public string ExporterName{get; set; }
     }

但是当我运行我的api并尝试填充列表时

  public IActionResult GetFormNXPs(){
    var forms = new List<FormNXPModel>();
    forms = db.FormNXPs.ToList();
    return Ok(forms);
  }

我的输出是驼峰包装的,而不是模型...

 {
    "id": 1,
    "appNumber": "XG0191019",
    "formNumber": "formXg00111",
    "exporterName": "Zambai Ltd",
 }

我的观察

"AppNumber"  becomes "appNumber",
"FormNumber" becomes "formNumber",
"ExporterName" becomes "exporterName"

....等等,请问如何解决这个问题。

2 个答案:

答案 0 :(得分:1)

Here,可以查看Google JSON样式指南。但是,如果您要更改,请使用newtonsoft.json [JsonProperty("AppNumber")]

    [Key]
    [JsonProperty("Id")]
    public int Id {get; set;}

    [Required]
    [JsonProperty("AppNumber")]
    public string AppNumber {get; set;}

    [Required]
    [JsonProperty("FormNumber")]
    public string FormNumber {get; set;}

    [Required]
    [JsonProperty("ExporterName")]
    public string ExporterName {get; set; }

答案 1 :(得分:0)

如果您正在处理.NET Core 3.x项目:

您可以通过将PropertyNamingPolicy更改为null来禁用默认命名策略。序列化为JSON时,默认情况下,这将使所有属性名称保持不变。

// Startup.cs / ConfigureServices
public void ConfigureServices(IServiceCollection services)
{
    services.AddControllers()
        .AddJsonOptions(options =>
        {
            options.JsonSerializerOptions.PropertyNamingPolicy = null
        });
}
相关问题