public static void CustomAttributeOnTypeAndRuntime() { const string json = @"""1,2"""; // Baseline AttributedPoint point = JsonSerializer.Deserialize <AttributedPoint>(json); Assert.Equal(1, point.X); Assert.Equal(2, point.Y); Assert.Equal(json, JsonSerializer.Serialize(point)); // Now use options. var options = new JsonSerializerOptions(); options.Converters.Add(new AttributedPointConverter(200)); point = JsonSerializer.Deserialize <AttributedPoint>(json, options); // The runtime overrides the type attribute. Assert.Equal(201, point.X); Assert.Equal(202, point.Y); string jsonSerialized = JsonSerializer.Serialize(point, options); Assert.Equal(json, jsonSerialized); }
public static void CustomAttributeOnType() { const string json = @"""1,2"""; AttributedPoint point = JsonSerializer.Deserialize <AttributedPoint>(json); Assert.Equal(1, point.X); Assert.Equal(2, point.Y); string jsonSerialized = JsonSerializer.Serialize(point); Assert.Equal(json, jsonSerialized); }