json.net 所有属性都写入 JsonExtensionData 而不是实际的对象属性
json.net All properties written to JsonExtensionData instead of to actual object properties
我有一个带有 JsonExtensionData 的基础 class,让我们假设
class AType {
public AType() { _additionalData = new Dictionary<string, JToken>(); }
[JsonExtensionData]
public IDictionary<string, JToken> _additionalData;
}
和一个 class B 扩展了 A 的其他属性
class BType : AType {
public int N { get; set; }
public int Name { get; set; }
}
当将 B 对象数组反序列化为 List<BType>
时,所有值都将进入 _additionalData
而不是正确的属性,即 N
和 Name
。同样的问题发生在 JObject.ToObject(Type)
和 JsonConvert.DeserializeObject(string, Type)
找到问题了...这不是我的问题。抱歉,您可以关闭该问题。
在我的应用程序中,我有很多 classes,首先我尝试使用默认的 .net json 转换器,但是当我忘记删除 class 的 2 个上的 DataContractAttribute已改为使用 json.net 库和 thouse,其中 classes 在 BType
中出现问题
我有一个带有 JsonExtensionData 的基础 class,让我们假设
class AType {
public AType() { _additionalData = new Dictionary<string, JToken>(); }
[JsonExtensionData]
public IDictionary<string, JToken> _additionalData;
}
和一个 class B 扩展了 A 的其他属性
class BType : AType {
public int N { get; set; }
public int Name { get; set; }
}
当将 B 对象数组反序列化为 List<BType>
时,所有值都将进入 _additionalData
而不是正确的属性,即 N
和 Name
。同样的问题发生在 JObject.ToObject(Type)
和 JsonConvert.DeserializeObject(string, Type)
找到问题了...这不是我的问题。抱歉,您可以关闭该问题。
在我的应用程序中,我有很多 classes,首先我尝试使用默认的 .net json 转换器,但是当我忘记删除 class 的 2 个上的 DataContractAttribute已改为使用 json.net 库和 thouse,其中 classes 在 BType