如何在没有 JsonPropertyName 的情况下使 JSON 中的 属性 名称与实体 属性 结果相同?
How to keep propery name in JSON result same as Entity property without JsonPropertyName?
我有大约 30 个实体。我使用 ajax 调用从数据库中检索数据,使用 entity framework。
我们要求使用与数据库 table 中相同的列名。
但是 ajax 得到响应并 属性 以驼峰式显示。
public Class ABC
{
public string RT_ID { get; set; }
public string START_DATE { get; set; }
}
JSON 响应显示 RT_ID 和 START_DATE 对应的 rtId 和 startDate。
但是 JSON 响应显示 RT_ID 和 START_DATE,我对每个 属性.
使用 JsonPropertyName 属性
public Class ABC
{
[JsonPropertyName("RT_ID")]
public string RT_ID { get; set; }
[JsonPropertyName("START_DATE")]
public string START_DATE { get; set; }
}
所以挑战是,我能否在 JSON 响应中使用相同的 属性 名称,而不向 class 的每个 属性 添加 JsonPropertyName。可能处于 class 级别?
谢谢
尝试使用以下代码:
Starup.cs
services.AddControllers().AddJsonOptions(jsonOptions =>
{
jsonOptions.JsonSerializerOptions.PropertyNamingPolicy = null;
})
在Asp.net Core 3中默认PropertyNamingPolicy是camelCase,设置为null就可以解决你的问题。
有关更多详细信息,请查看此线程
我有大约 30 个实体。我使用 ajax 调用从数据库中检索数据,使用 entity framework。 我们要求使用与数据库 table 中相同的列名。 但是 ajax 得到响应并 属性 以驼峰式显示。
public Class ABC
{
public string RT_ID { get; set; }
public string START_DATE { get; set; }
}
JSON 响应显示 RT_ID 和 START_DATE 对应的 rtId 和 startDate。
但是 JSON 响应显示 RT_ID 和 START_DATE,我对每个 属性.
使用 JsonPropertyName 属性public Class ABC
{
[JsonPropertyName("RT_ID")]
public string RT_ID { get; set; }
[JsonPropertyName("START_DATE")]
public string START_DATE { get; set; }
}
所以挑战是,我能否在 JSON 响应中使用相同的 属性 名称,而不向 class 的每个 属性 添加 JsonPropertyName。可能处于 class 级别?
谢谢
尝试使用以下代码:
Starup.cs
services.AddControllers().AddJsonOptions(jsonOptions =>
{
jsonOptions.JsonSerializerOptions.PropertyNamingPolicy = null;
})
在Asp.net Core 3中默认PropertyNamingPolicy是camelCase,设置为null就可以解决你的问题。
有关更多详细信息,请查看此线程