public void ConvertSameModelBothWays_DerivedToBase() { var obj = new DerivedModelOne() { Type = ModelType.Simple, Key = 1, Label = "Label 1", Value = "TestValue", Reference = 2, Values = new List <string>() { "Value1", "Value2", "Value3", }, }; https://docs.microsoft.com/en-us/dotnet/standard/serialization/system-text-json-how-to var ser = JsonSerializer.Serialize <ModelOne>(obj); Assert.AreEqual("{\"Type\":0,\"Key\":1,\"Value\":\"TestValue\",\"Label\":\"Label 1\"}", ser); var bObj = JsonSerializer.Deserialize <DerivedModelOne>(ser); var cObj = new DerivedModelOne() { Type = ModelType.Simple, Key = 1, Label = "Label 1", Value = "TestValue", Reference = null, Values = null, }; Assert.IsTrue(cObj == bObj); }
public void ConvertSameModelBothWays_Derived() { var obj = new DerivedModelOne() { Type = ModelType.Simple, Key = 1, Label = "Label 1", Value = "TestValue", Reference = 2, Values = new List <string>() { "Value1", "Value2", "Value3", }, }; var ser = JsonSerializer.Serialize(obj); Assert.AreEqual("{\"Values\":[\"Value1\",\"Value2\",\"Value3\"],\"Reference\":2,\"Type\":0,\"Key\":1,\"Value\":\"TestValue\",\"Label\":\"Label 1\"}", ser); var bObj = JsonSerializer.Deserialize <DerivedModelOne>(ser); Assert.IsTrue(obj == bObj); }