【发布时间】:2017-03-22 19:24:55
【问题描述】:
class Attribute1
{
}
class Attribute2 : Attribute1
{
}
class class1
{
Attribute1 attr1;
}
class class2 : class1
{
Attribute2 attr2;
}
var serializerSettings = new JsonSerializerSettings(){TypeNameHandling = TypeNameHandling.Objects};
class2 a = SomeValidObjectoftype Class2;
string serializedClass2 = JsonConvert.SerializeObject(a, serializerSettings);
var am = JsonConvert.DeserializeObject<Class2>(serializedClass1);
以上都是 JSON 属性和对象。我想要做的是序列化和反序列化而不是丢失类型。
在反序列化时,我失去了 am.attr2 的类型。目前它以Attribute1 的形式返回。我希望它为Attribute2。那可能吗?如果是这样,有人可以指出我正确的做法。我包括了 SerializationSettings 并且仍然遇到了同样的问题。
【问题讨论】:
标签: json serialization json.net deserialization json-deserialization