【发布时间】:2021-12-18 17:18:38
【问题描述】:
在将子类上的父属性序列化为 Json 时,我试图忽略它,但它不起作用。
我有一个这样的对象:
public class DependantQuestionCreateRequest : QuestionCreateRequest
{
[JsonIgnore]
public new DependantQuestionCreateRequest DependantQuestion;
}
如您所见,我隐藏父属性 DependantQuestion 只是为了向子属性添加 JsonIgnore 属性。
这是因为两个类是相等的,唯一的区别是父类可以在里面包含一个子类作为属性,而子类不能。
我不想将所有道具从一个模型复制到另一个模型,只是为了避免在 DependantQuestion 属性上大摇大摆地进行序列化。
虽然这段代码不起作用,我的大摇大摆地显示它就像
"dependantQuestion" : "string"
在我看来,这意味着 JsonIgnore 属性实际上被忽略了。
有谁知道在孩子身上隐藏这个父属性的方法?
【问题讨论】:
-
尝试使用virutal/override并覆盖子属性,而不是用关键字
new隐藏它 -
是的,使用虚拟/覆盖this works
-
谢谢你们。它正在工作:)。