我正在开发一个 ASP.NET Core 项目,我正在尝试使用
System.Text.Json
反序列化 JSON 数据。但是,我收到以下错误:
“kitaphabitati.webmvc.helpers.viewalerts.models.messagedata”类型的反序列化构造函数中的每个参数都必须绑定到反序列化时的对象属性或字段。每个参数名称必须与对象上的属性或字段匹配。仅当启用“jsonserializeroptions.includefields”时才考虑字段。匹配可以不区分大小写
问题:
MessageData
类的构造函数与 JSON 数据不匹配?这是我的
MessageData
代码:
type public class MessageData
{
public string Title { get; set; }
public string Content { get; set; }
public MessageData(Title title, string content)
{
Title = title.ToString().ToLower();
Content = content;
}
}
这是因为构造函数参数
Title
与 Title
属性的类型不匹配,并且它会混淆 JSON 转换器,该转换器会尝试实例化类的对象并寻找最佳匹配的构造函数。
为了纠正这一问题,您需要定义一个无参数构造函数:
public MessageData() {}