在NewtonsoftJson系列化的阶级等级制度



我正试图使用C#在NewtonsoftJson中序列化类层次结构。

我的班级结构如下:

public abstract class Foo
{
    public string PropertyOne{get;set;}
}
public class Bar : Foo
{
    public string PropertyTwo{get; set;}
}

当我序列化我的Bar类时,我只有Foo类的PropertyOne属性,而没有Bar类的PropertyTwo属性。抽象基类的属性对我们的大多数消息来说都是通用的,因此拥有层次结构感觉是最佳实践选项。

有人知道如何在不删除层次结构的情况下,使序列化包含基类和子类中的所有atribute吗?

JsonConvert.SerializeObject似乎为我的做了手脚

string json = JsonConvert.SerializeObject(new Bar{ PropertyOne = "hello", PropertyTwo = "world" });

输出:

{"PropertyTwo":"world","PropertyOne":"hello"}

我遇到了这个问题,因为我的主类有DataContract序列化(DataMember),而我的父类没有。

作为一个愚蠢错误的提示者发布:-)

相关内容

  • 没有找到相关文章

最新更新