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); }
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); }
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>(); }
/// <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)); }