2015-03-18 72 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