名單

2016-02-04 28 views
0

比方說,我有下面的C#類名單

[JsonObject(MemberSerialization.OptIn)] 
public class Parent 
{ 
    [JsonProperty] 
    public int SharedProp { get; set; } 
} 

public class ChildA : Parent 
{ 
    [JsonProperty] 
    public string ChildAProperty { get; set; } 
} 

public class ChildB : Parent 
{ 
    [JsonProperty] 
    public string ChildAProperty { get; set; } 
} 

現在,我創建了一個List<Parent>到包含0到n的對象。列表的序列化工作正常,並給我一個有效的JSON文件,我可以反序列化。問題是,我目前只收到List<Parent>,並且沒有ChildAChildB對象。

我正在使用Newtonsoft JSON串行器/解串器。有什麼辦法可以達到這個目的嗎?還是我必須將它分成單獨的文件/列表?

回答

2

您需要在JsonSerializerSettings中指定TypeNameHandling。以this article爲例。

+0

完美的作品!重要的是,我也必須在反序列化過程中使用它。 – Freddy