Esempio n. 1
0
        public static void ConverterNotCalled_IgnoreNullValues()
        {
            var options = new JsonSerializerOptions();

            options.Converters.Add(new UriNullConverter_NullOptIn());

            // Converter is not called.
            ClassWithIgnoredUri obj = JsonSerializer.Deserialize <ClassWithIgnoredUri>(@"{""MyUri"":null}", options);

            Assert.Equal(new Uri("https://microsoft.com"), obj.MyUri);

            obj.MyUri = null;
            Assert.Equal("{}", JsonSerializer.Serialize(obj, options));
        }
Esempio n. 2
0
        public static void ConverterNotCalled_IgnoreNullValues()
        {
            var options = new JsonSerializerOptions();

            options.Converters.Add(new UriNullConverter_NullOptIn());

            // Converter is called - JsonIgnoreCondition.WhenWritingDefault does not apply to deserialization.
            ClassWithIgnoredUri obj = JsonSerializer.Deserialize <ClassWithIgnoredUri>(@"{""MyUri"":null}", options);

            Assert.Equal(new Uri("https://default"), obj.MyUri);

            obj.MyUri = null;
            // Converter is not called - value is ignored on serialization.
            Assert.Equal("{}", JsonSerializer.Serialize(obj, options));
        }