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を含め、それでも同じ問題にぶつかりました。あなたがTypeNameHandling = TypeNameHandling.Objects
(またはAll
またはAuto
)を渡す必要があり派生型のJSON逆シリアル化