c# - API Json 对具有大写属性首字母的 C# 对象的响应
问题描述
我制作了一个 API,在详细说明实体框架之后,我发送了一个用 Json 序列化的对象。
我的对象:
public class Package
{
public int Items { get; set; }
public string Code { get; set; }
public string Description { get; set; }
public double? Weight { get; set; }
public string Size { get; set; }
public string PackageType { get; set; }
}
问题在收到它(Xamarin 应用程序)后 Json 的第一个字母小写,但我想在完全相同的类中反序列化它,但它不能因为该类具有大写的属性(C# 标准)。现在我正在使用一个可怕的“助手”类,它具有小写的属性来翻译它。
知道如何处理这个问题并直接用大写首字母发送 Json 吗?
编辑
我使用ASP.NET Web API Core和Newtonsoft.Json
在 Xamarin 应用程序中,我使用System.Text.Json
解决方案
您必须更改 json 序列化选项的默认属性命名策略。
默认情况下,它设置为驼峰式大小写,但如果您将其设置为null
,则属性名称将保持不变(或保持您在课堂上写的那样)。
只需将其添加到您的Startup.cs
:
services.AddControllers()
.AddJsonOptions(options =>
{
options.JsonSerializerOptions.PropertyNamingPolicy = null;
});
推荐阅读
- c# - 分离 ASP.NET Core Identity ApplicationUser 与域模型实体的关系
- visual-studio-2019 - 我的包裹没有加载。我如何解释活动日志
- sql - where column in from another select results with limit (mysql/mariadb)
- python - Is there any way to write this type of permutations in a text file line by line?
- python - 我正在尝试安装 python3.8.1,当我运行“./configure”时,它会带来这个错误
- entity-framework - 如何避免实体之间的命名空间依赖循环?
- css - 自定义 TTF 字体在 React 应用程序中加载缓慢
- android - Android/Kotlin:将不同的活动“特征”组合成一个活动
- mongodb - 如何将每个数组字段与MongoDB中的其他字段匹配
- arrays - 将 pyaudio 数据块组合成一个较长的块