C# 子类中的Json问题
我有两个DTO文件,其中一个是另一个的子类。超级类上的字段如下所示:C# 子类中的Json问题,c#,json,serialization,json.net,C#,Json,Serialization,Json.net,我有两个DTO文件,其中一个是另一个的子类。超级类上的字段如下所示: [JsonProperty] protected int financialFormatHeaderID; [JsonProperty] protected string financialFormatHeaderCode; [JsonProperty] protected string description = string.Empty; [JsonProperty] protected FinancialForma
[JsonProperty]
protected int financialFormatHeaderID;
[JsonProperty]
protected string financialFormatHeaderCode;
[JsonProperty]
protected string description = string.Empty;
[JsonProperty]
protected FinancialFormatPurpose purpose = FinancialFormatPurpose.Standard;
[JsonProperty]
protected IList<FinancialFormatDetailDto> details = new List<FinancialFormatDetailDto>();
[JsonProperty]
protected bool active = true;
public class FinancialFormatHeaderDto
public class RecoveryFormatHeaderDto : FinancialFormatHeaderDto
它们都在类名上方(但在命名空间下方)具有JsonObject(MemberSerialization.OptIn)和Serializable属性
我的问题是,当我试图保存子类的实例时,会出现以下错误:
用户代码未处理Newtonsoft.Json.JsonSerializationException
消息=名为“FinancialFormatheadeId”的成员已存在于“RecoveryFormatheaderTo”上。使用JsonPropertyAttribute指定另一个名称
Source=Newtonsoft.Json
这里发生了什么?我该如何解决这个问题
编辑:类签名如下所示:
[JsonProperty]
protected int financialFormatHeaderID;
[JsonProperty]
protected string financialFormatHeaderCode;
[JsonProperty]
protected string description = string.Empty;
[JsonProperty]
protected FinancialFormatPurpose purpose = FinancialFormatPurpose.Standard;
[JsonProperty]
protected IList<FinancialFormatDetailDto> details = new List<FinancialFormatDetailDto>();
[JsonProperty]
protected bool active = true;
public class FinancialFormatHeaderDto
public class RecoveryFormatHeaderDto : FinancialFormatHeaderDto
虽然我不知道Json.Net,但我猜问题可能与两个类上都有JsonObjectAttribute(MemberSerialization.OptIn)有关。也许您应该尝试从子类中删除该属性,看看是否有帮助。您的类签名是什么样子的?