繁体   English   中英

Json问题在子类中

[英]Json issue in a sub-class

我有2个DTO文件,其中一个是另一个的子类。 超类上的字段如下:

[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 RecoveryFormatHeaderDto()
  : base() {
  this.purpose = FinancialFormatPurpose.Recovery;
}

[JsonProperty]
private bool isPerSquareArea;

它们都在类名上方(但在名称空间下)具有JsonObject(MemberSerialization.OptIn)和Serializable属性。

我的问题是,当我尝试保存子类的实例时,出现以下错误:

用户代码未处理Newtonsoft.Json.JsonSerializationException

消息=名称为'financialFormatHeaderID'的成员已经存在于'RecoveryFormatHeaderDto'上。 使用JsonPropertyAttribute指定另一个名称。

资料来源= Newtonsoft.Json

这是怎么回事 我该如何解决?

编辑:类签名如下:

public class FinancialFormatHeaderDto
public class RecoveryFormatHeaderDto : FinancialFormatHeaderDto

尽管我不了解Json.Net,但我的猜测是问题与在两个类上都有JsonObjectAttribute(MemberSerialization.OptIn)有关。 也许您应该尝试从子类中删除该属性,然后查看是否有帮助。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM