Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 子类中的Json问题_C#_Json_Serialization_Json.net - Fatal编程技术网

C# 子类中的Json问题

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

我有两个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 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)有关。也许您应该尝试从子类中删除该属性,看看是否有帮助。

您的类签名是什么样子的?