示例#1
0
        void IgnoresSpecifiedPropertiesTest()
        {
            var obj = new { OkProp = 1, BadProp = 2, BadProp2 = 3 };
            var contractResolver = new DynamicContractResolver(obj.GetType(), new[] { "OkProp" });

            var serialized = JsonConvert.SerializeObject(obj, new JsonSerializerSettings {
                ContractResolver = contractResolver
            });

            Assert.Contains("okProp", serialized);
            Assert.DoesNotContain("badProp", serialized);
        }
示例#2
0
        void ContainsSubPropertiesTest()
        {
            var          subObj           = new { SubOne = 2.1, SubTwo = 2.2 };
            var          obj              = new { One = 1, Two = subObj, Three = 3 };
            const string expected         = "{\"one\":1,\"two\":{\"subOne\":2.1,\"subTwo\":2.2},\"three\":3}";
            var          contractResolver = new DynamicContractResolver(obj.GetType(), new [] { "One", "Two", "Three" });
            var          serialized       = JsonConvert.SerializeObject(obj, new JsonSerializerSettings {
                ContractResolver = contractResolver
            });

            Assert.Equal(expected, serialized);
        }
示例#3
0
        public void CustomSerializeObjectTest()
        {
            var obj = new
            {
                Property1 = "Property 1",
                Property2 = 2,
                _id       = "3"
            };
            var resolver = new DynamicContractResolver()
            {
                MongoIdConversion = false,
                LowerFirstLetter  = false
            };

            SerializationExtensions.DefaultSettings.ContractResolver = resolver;
            var serializeText   = obj.Serialize();
            var deserializeText = serializeText.Deserialize <ExpandoObject>();
        }
示例#4
0
        /// <summary>
        /// 是否相同的eSight实体。
        /// </summary>
        /// <param name="host1">host1</param>
        /// <param name="host2">host2</param>
        /// <returns>bool</returns>
        private bool IsSameESightHost(HWESightHost host1, HWESightHost host2)
        {
            var propsToSerialise = new List <string>()
            {
                "HostIP",
                "HostPort",
                "AliasName",
                "LoginAccount",
                "LoginPwd",
                "CertPath"
            };
            DynamicContractResolver contractResolver = new DynamicContractResolver(propsToSerialise);

            string str1 = JsonConvert.SerializeObject(host1, Formatting.None, new JsonSerializerSettings {
                ContractResolver = contractResolver
            });
            string str2 = JsonConvert.SerializeObject(host2, Formatting.None, new JsonSerializerSettings {
                ContractResolver = contractResolver
            });

            return(string.Equals(str1, str2));
        }