Javascript 在派生类中隐藏新属性后如何在json中序列化新属性

Javascript 在派生类中隐藏新属性后如何在json中序列化新属性,javascript,c#,serialization,Javascript,C#,Serialization,我必须学习父类,例如: public class Title { public List<Detail> details {get; set;} } public class Detail { // some properties } public class TitleChild : Title { public new List<DetailChild> details {get; set;} // hiding } public

我必须学习父类,例如:

public class Title
{
    public List<Detail> details {get; set;}

}

public class Detail
{
    // some properties
}

public class TitleChild : Title
{
    public new List<DetailChild> details {get; set;}  // hiding

}

public class DetailChild : Detail
{
    // some properties
}
公共类标题
{
公共列表详细信息{get;set;}
}
公共类详细信息
{
//一些性质
}
公共类标题儿童:标题
{
公共新列表详细信息{get;set;}//隐藏
}
公共类DetailChild:详细信息
{
//一些性质
}
我需要序列化标题列表
list
和标题列表child
list

列表
中一切正常,但在
列表
中有些事情是错误的。 在javascript中反序列化之后,我注意到细节属性steel是超类中的隐藏属性

我该怎么办


而且我不能忽略对隐藏属性是超类的序列化,因为我需要在超类上序列化它。

序列化很可能只遍历公共属性。您故意用
new
关键字隐藏了您的详细信息。您可以尝试更改结构,以便不使用
new
。这里真的很奇怪,无论如何你最好避免

例如,如果您想要恢复这两个属性,您可以将
详细信息
的名称更改为
childrenDetails
并删除
new


另外,由于您的
DetailChild
继承自
Detail
,实际上,您只需使用原始的
详细信息
列表,并用
DetailChild
对象填充它。

任何数据都是一样的:您需要特殊类型,或者类型信息必须是消息的一部分,但是反序列化程序如何知道何时创建DetailChild实例?这是主要问题