Exemplo n.º 1
0
        public static void JsonPropertyNameAttribute()
        {
            {
                OverridePropertyNameDesignTime_TestClass obj = JsonSerializer.Deserialize <OverridePropertyNameDesignTime_TestClass>(@"{""Blah"":1}");
                Assert.Equal(1, obj.myInt);

                obj.myObject = 2;

                string json = JsonSerializer.Serialize(obj);
                Assert.Contains(@"""Blah"":1", json);
                Assert.Contains(@"""BlahObject"":2", json);
            }

            // The JsonPropertyNameAttribute should be unaffected by JsonNamingPolicy and PropertyNameCaseInsensitive.
            {
                var options = new JsonSerializerOptions();
                options.PropertyNamingPolicy        = JsonNamingPolicy.CamelCase;
                options.PropertyNameCaseInsensitive = true;

                OverridePropertyNameDesignTime_TestClass obj = JsonSerializer.Deserialize <OverridePropertyNameDesignTime_TestClass>(@"{""Blah"":1}", options);
                Assert.Equal(1, obj.myInt);

                string json = JsonSerializer.Serialize(obj);
                Assert.Contains(@"""Blah"":1", json);
            }
        }
Exemplo n.º 2
0
        public static void OverridePropertyNameAndDesignTimeAttributeAtRuntime()
        {
            var options = new JsonSerializerOptions();

            options.AddAttribute(typeof(OverridePropertyNameDesignTime_TestClass).GetProperty("MyInt16"), new JsonPropertyNameAttribute("blah2"));

            OverridePropertyNameDesignTime_TestClass x = JsonSerializer.Read <OverridePropertyNameDesignTime_TestClass>(OverridePropertyNameDesignTime_TestClass.s_dataNotMatchingAttribute, options);

            Assert.Equal(x.MyInt16, 1);
        }
Exemplo n.º 3
0
        public static void OverridePropertyNameAtDesignTime()
        {
            OverridePropertyNameDesignTime_TestClass x = JsonSerializer.Read <OverridePropertyNameDesignTime_TestClass>(OverridePropertyNameDesignTime_TestClass.s_dataMatchingAttribute);

            Assert.Equal(x.MyInt16, 1);
        }
Exemplo n.º 4
0
        public static void OverridePropertyNameAndDesignTimeAttributeAtRuntimeIgnoresNonMatch()
        {
            OverridePropertyNameDesignTime_TestClass x = JsonSerializer.Parse <OverridePropertyNameDesignTime_TestClass>(OverridePropertyNameDesignTime_TestClass.s_dataNotMatchingAttribute);

            Assert.Equal(x.MyInt16, 0);
        }