如何使用多种json子类型反序列化复杂的数据结构

时间:2019-03-11 20:37:09

标签: json .net-core deserialization

我想知道将json直接映射到其上或subtypes上具有多个property级别的[JsonConverter(typeof(JsonSubtypes),"Kind"] [KnownSubType(typeof(A),"a"] [KnownSubType(typeof(B),"b"] public abstract class Root { public abstract string Kind{get;set;} } public class A:Root { override Kind=>"a"; [JsonProperty] public Prop prop{get;set;} } [JsonConverter(typeof(JsonSubtypes),"PropKind"] [KnownSubtypes(typeof(P1),"p1"] [KnownSubtypes(typeof(P2),"p2"] public abstract class Prop { public abstract string PropKind{get;} } public abstract class P1:Prop { override PropKind=>"p1"; public int SomeValue{get;set;} } 时,什么是可伸缩解决方案。

Camera

您可以看到我的根对象有一些子类型,但我也有其字段之一的子类型。将来我可能需要更多级别的子类型。这种方法的子类型膨胀吗?我应该使用对象,每个子类型都有一个很大的开关盒?什么是更好的方法?

0 个答案:

没有答案