2015-03-18 70 views
1

我有一個基類與JsonExtensionData,讓我們假設json.net所有屬性寫入JsonExtensionData而不是實際的對象屬性

class AType { 
    public AType() { _additionalData = new Dictionary<string, JToken>(); } 

    [JsonExtensionData] 
    public IDictionary<string, JToken> _additionalData; 
} 

和延伸A和其它性能的B類

class BType : AType { 
    public int N { get; set; } 
    public int Name { get; set; } 
} 

將B對象的數組反序列化成List<BType>所有值將進入_additionalData而不是正確的屬性,即N and Name。同樣的問題發生與JObject.ToObject(Type)JsonConvert.DeserializeObject(string, Type)

回答

1

發現問題...和i'ts我的問題。很抱歉,您可以關閉此問題。 在我的應用程序中,我有很多的類,首先我試圖使用默認的.net json轉換器,但是我忘記了當我更改爲使用json.net庫和thouse時在類的2上刪除DataContractAttribute BType

+1

感謝您回來發佈您的答案! – 2015-03-20 13:21:32