你好,我正在使用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"
....等等,请问如何解决这个问题。
答案 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
});
}