json.net写入JsonExtensionData而不是实际对象属性的所有属性

时间:2015-03-18 23:34:33

标签: 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 ,而不会进入正确的属性,即< strong> N Name JObject.ToObject(Type) JsonConvert.DeserializeObject(string, Type)

会出现同样的问题

1 个答案:

答案 0 :(得分:1)

发现问题......而且我的问题。对此抱歉,您可以解决此问题。 在我的应用程序中我有很多类,并且我首先尝试使用默认的.net json转换器,但是当我改为使用json.net库和thouse时,我忘了在类的2上删除DataContractAttribute在BType

中提出问题的课程