最简单的解释方法是展示示例,以便我开始使用:
我有三个对象:
public class Foo
{
public string FooString { get; set; }
}
public class Bar
{
public string BarInt { get; set; }
}
public class Message<T>
{
public string Subject { get; set; }
public T Value { get; set }
}
反序列化为JSON时,Message<Foo>
变为
{
"subject": "FooSubject",
"value": {
"fooString": "abc"
}
}
和Message<Bar>
变为
{
"subject": "BarSubject",
"value": {
"barInt": 123
}
}
有没有办法使用Newtonsoft.JSON将内部通用对象合并到Message中?或者是否有另一种方法将两个C#类合并到同一个JSON对象中?意味着Message的最终结果如下所示:
{
"subject": "FooSubject",
"fooString": "abc"
}
这当然可能会导致命名冲突,但在我的情况下这很容易避免。我不想使用继承来处理它,因为Foo / Bar并不总是Message,但是消息将包含其中一个。
另一件事是通用对象可能包含我 想要展平的其他对象。
谢谢!