protected override JsonProperty CreateProperty(MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { JsonProperty property = base.CreateProperty(member, memberSerialization); if (_rootTypes.Contains(property.PropertyType)) { property.Converter = _referenceConverter; property.MemberConverter = _referenceConverter; } else { if (property.PropertyType.IsGenericType) { foreach (Type @interface in property.PropertyType.GetInterfaces()) { if (@interface.IsGenericType) { if (@interface.GetGenericTypeDefinition() == typeof(ICollection <>)) { if (_rootTypes.Contains(@interface.GetGenericArguments()[0])) { property.Ignored = true; } } } } } } return(property); }
CreateProperties ( System.Type t, Newtonsoft.Json.MemberSerialization ms ) { if (t.Name.Contains("ArtifactSerializationMetadata")) { } IList <Newtonsoft.Json.Serialization.JsonProperty> properties = null; properties = base.CreateProperties(t, ms); var p2 = properties.Where(p => properties_to_serialize.Contains(p.PropertyName)); var p3 = p2.ToList(); foreach (Newtonsoft.Json.Serialization.JsonProperty prop in properties) { prop.Order = properties_to_serialize.IndexOf(prop.PropertyName) + 1; } var list_ordered = properties.OrderBy(p => p.Order).ToList(); return(list_ordered); }
protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { var properties = base.CreateProperties(type, memberSerialization); if (properties.Count > 0) { foreach (var property in type.GetProperties()) { var sensitiveDataAttributes = property.GetCustomAttributes(typeof(SensitiveDataAttribute), false); if (!sensitiveDataAttributes.Any()) { continue; } var mappedProperty = properties.FirstOrDefault(p => p.UnderlyingName == property.Name); if (mappedProperty != null) { var attribute = (sensitiveDataAttributes[0] as SensitiveDataAttribute); if (attribute.Direction == Direction.Output) { properties.Add(GetJsonProperty(type, mappedProperty, attribute)); } else { mappedProperty.ValueProvider = new SensitiveDataValueProvider(property.Name, SaltGenerator); } } } } return(properties); }
protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { var properties = base.CreateProperties(type, memberSerialization); if (_filterToFields != null && IsSourceType(type)) { properties = properties.Where(x => _filterToFields.Contains(x.PropertyName)).ToList(); } return(properties); }
/// <summary> /// Creates properties for the given Newtonsoft.Json.Serialization.JsonContract. /// </summary> /// <param name="type">The type to create properties for.</param> /// <param name="memberSerialization">The member serialization mode for the type.</param> /// <returns>Properties for the given Newtonsoft.Json.Serialization.JsonContract.</returns> protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { IList <JsonProperty> properties = base.CreateProperties(type, memberSerialization); List <string> ignoreMembers = type.GetProperties().Where(x => x.GetCustomAttributes(typeof(EfIgnoreDbLogAttribute), true).Any()).Select(x => x.Name).ToList(); ignoreMembers.AddRange(type.GetProperties().Where(p => p.GetGetMethod().IsVirtual).Select(x => x.Name).ToList()); IList <JsonProperty> prop = properties.Where(p => !ignoreMembers.Contains(p.PropertyName)).ToList(); return(prop); }
/// <summary> /// 重密属性全部改成小写 /// </summary> /// <param name="type"></param> /// <param name="memberSerialization"></param> /// <returns></returns> protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { var properties = base.CreateProperties(type, memberSerialization); foreach (var pro in properties) { pro.PropertyName = pro.PropertyName.ToLower(); } return(properties); }
CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { var props = type .GetProperties(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) .Select(p => base.CreateProperty(p, memberSerialization)) .Union(type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance) .Select(f => base.CreateProperty(f, memberSerialization))) .ToList(); props.ForEach(p => { p.Writable = true; p.Readable = true; }); return(props); }
protected override JsonProperty CreateProperty(MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { var prop = base.CreateProperty(member, memberSerialization); if (!prop.Writable) { var property = member as PropertyInfo; var hasPrivateSetter = property?.GetSetMethod(true) != null; prop.Writable = hasPrivateSetter; } return(prop); }
protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { var properties = base.CreateProperties(type, memberSerialization); foreach (var jsonProperty in properties) { //set obfuscated name jsonProperty.PropertyName = GetObfuscatedName(properties.IndexOf(jsonProperty)); } return(properties); }
protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { var properties = base.CreateProperties(type, memberSerialization); foreach (var property in properties) { property.PropertyName = ConvertPropertyName(property.PropertyName); } // only seria return(properties); }
protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { IList <JsonProperty> Properties = base.CreateProperties(type, memberSerialization); foreach (var item in Properties) { if (item.DeclaringType.GetProperty(item.PropertyName).GetMethod.Attributes.HasFlag(MethodAttributes.Virtual)) { item.Ignored = true; } } return(Properties); }
protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { IList <JsonProperty> props = base.CreateProperties(type, memberSerialization); if (type == typeof(Your_Class)) { JsonProperty prop = props.Where(p => p.PropertyName == "Your_Property_Name") .FirstOrDefault(); if (prop != null) { prop.Converter = new IsoDateTimeConverter { DateTimeFormat = "dd-MM-yyyy" }; } } return(props); }
protected override JsonProperty CreateProperty(MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { var property = base.CreateProperty(member, memberSerialization); if (property.DeclaringType == typeof(BaseDto) || property.DeclaringType.GetTypeInfo().BaseType == typeof(BaseDto) || property.DeclaringType.GetTypeInfo().BaseType.GetTypeInfo().BaseType == typeof(BaseDto)) { if (property.PropertyName == "SerializableProperties") { property.ShouldSerialize = instance => { return(false); }; } else { property.ShouldSerialize = instance => { var p = (BaseDto)instance; return(p.SerializableProperties.Contains(property.PropertyName)); }; } } return(property); }
protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { IList <JsonProperty> properties = base.CreateProperties(type, memberSerialization); return(properties.Where(p => _propertiesToSerialize.Contains(p.PropertyName)).ToList()); }
public JsonObjectAttribute(Newtonsoft.Json.MemberSerialization memberSerialization) { this.MemberSerialization = memberSerialization; }
protected override System.Collections.Generic.IList<Newtonsoft.Json.Serialization.JsonProperty> CreateProperties(System.Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { var @base = base.CreateProperties(type, memberSerialization); var ordered = @base .OrderBy(p => p.Order ?? int.MaxValue) .ThenBy(p => p.PropertyName) .ToList(); return ordered; }
protected override JsonProperty CreateProperty(System.Reflection.MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { var ret = base.CreateProperty(member, memberSerialization); ret.PropertyName = ret.UnderlyingName; return(ret); }
protected override JsonProperty CreateProperty(System.Reflection.MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { var property = base.CreateProperty(member, memberSerialization); property.ShouldSerialize = instance => serializableProperties.Contains(member.Name.ToLower()); return(property); }
protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { return(base.CreateProperties(type, memberSerialization).OrderBy(p => p.PropertyName).ToList()); }
/// <summary> /// Property creation /// </summary> /// <param name="member"></param> /// <param name="memberSerialization"></param> /// <returns></returns> protected override JsonProperty CreateProperty(System.Reflection.MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { JsonProperty result = base.CreateProperty(member, memberSerialization); string mappedName = null; if (_fieldMapping != null) { _fieldMapping.TryGetValue( (member.DeclaringType != null ? (member.DeclaringType.Name + ".") : "") + member.Name, out mappedName); } result.PropertyName = mappedName ?? result.PropertyName.Substring(0, 1).ToLower() + result.PropertyName.Substring(1); return(result); }
public JsonObjectAttribute(Newtonsoft.Json.MemberSerialization memberSerialization) { Class6.yDnXvgqzyB5jw(); base(); this.MemberSerialization = memberSerialization; }
//protected override JsonContract CreateContract(Type objectType) //{ // JsonContract contract = base.CreateContract(objectType); // // this will only be called once and then cached // if (objectType.IsValueType || objectType.IsEnum || objectType == typeof(string)) // return contract; // if (objectType.GetInterface("IEnumerable") != null) // throw new ArgumentException("IEnumerable should not serialize!"); // contract.Converter = new EntityIdConverter(); // return contract; //} protected override JsonProperty CreateProperty(System.Reflection.MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { JsonProperty property = base.CreateProperty(member, memberSerialization); var propertyType = property.PropertyType; if (propertyType.IsValueType || propertyType == typeof(string)) { } else if (propertyType.IsEnum) { //property.Converter = new Newtonsoft.Json.Converters.StringEnumConverter(); } else if (propertyType.GetInterface("IEnumerable") != null) { property.ShouldSerialize = instance => { return(false); }; } else { property.Converter = new EntityIdConverter(); } return(property); }
protected override IList <Newtonsoft.Json.Serialization.JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { //Find methods. setXXX getXXX var properties = type.GetMethods() .Where(m => m.Name.Length > 3) .GroupBy(m => m.Name.Substring(3)) .Where(g => g.Count() == 2 && g.Any(x => x.Name == "set" + g.Key) && g.Any(x => x.Name == "get" + g.Key)) .ToList(); //Create a JsonProperty for each set/getXXX pair var ret = properties.Select(prop => { var jProp = new Newtonsoft.Json.Serialization.JsonProperty(); jProp.PropertyName = prop.Key; jProp.PropertyType = prop.First(m => m.Name.StartsWith("get")).ReturnType; jProp.ValueProvider = new MyValueProvider(prop.ToList()); jProp.Readable = jProp.Writable = true; return(jProp); }) .ToList(); return(ret); }
protected override System.Collections.Generic.IList <Newtonsoft.Json.Serialization.JsonProperty> CreateProperties(System.Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { return(base .CreateProperties(type, memberSerialization) .OrderBy(ByType) .ThenBy(p => p.PropertyName) .ToList()); }
protected override JsonProperty CreateProperty(System.Reflection.MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { var property = base.CreateProperty(member, memberSerialization); if (_filterToFields != null && member.DeclaringType != null && IsSourceType(member.DeclaringType)) { if (!_filterToFields.Contains(member.Name)) { return(null); } } return(property); }
protected override JsonProperty CreateProperty(System.Reflection.MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { var property = base.CreateProperty(member, memberSerialization); if (property.DeclaringType == typeof(BaseDTO) || property.DeclaringType.BaseType == typeof(BaseDTO)) { if (property.PropertyName == "serializableProperties") { property.ShouldSerialize = instance => { return(false); }; } else { var temp = property.ShouldSerialize; property.ShouldSerialize = instance => { var p = (BaseDTO)instance; return(p.SerializableProperties.Any(x => x.Key == property.PropertyName)); }; } } return(property); }
protected override IList <JsonProperty> CreateProperties(Type type, Newtonsoft.Json.MemberSerialization memberSerialization) { //filter the properties and return back the final list }
/// <summary> /// 创建接送 JsonProperty /// </summary> /// <param name="member"></param> /// <param name="memberSerialization"></param> /// <returns></returns> protected override JsonProperty CreateProperty(System.Reflection.MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { var jsp = base.CreateProperty(member, memberSerialization); //是否使用JsonProperty的名称,不适用的话直接使用属性的名称 if (!isJsonProperty) { jsp.PropertyName = member.Name; } if (ignoreList != null && ignoreList.Count > 0) { string fieldName = member.DeclaringType + "." + member.Name; jsp.Ignored = ignoreList.Contains(fieldName); } return(jsp); }
protected override JsonProperty CreateProperty(System.Reflection.MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { JsonProperty jp = base.CreateProperty(member, memberSerialization); if (GetAttribute <JsonIgnoreAttribute>(member) != null) { jp.Ignored = true; } else { JsonPropertyAttribute jsonProp = GetAttribute <JsonPropertyAttribute>(member); if (jsonProp != null) { if (!String.IsNullOrEmpty(jsonProp.PropertyName)) { jp.PropertyName = jsonProp.PropertyName; } } else { if (member.MemberType == MemberTypes.Property) { PropertyInfo pi = (PropertyInfo)member; //仅可写及公开 jp.Ignored = pi.GetGetMethod() == null || pi.GetSetMethod() == null; } else if (member.MemberType == MemberTypes.Field) { FieldInfo fi = (FieldInfo)member; //如果是匿名类型,就不忽略 add by skypan 2012年4月10日12:19:13 if (fi.DeclaringType.Name.IndexOf("<>f__AnonymousType") > -1) { jp.Ignored = false; jp.PropertyName = fi.Name.Substring(1, fi.Name.IndexOf(">") - 1); } else { jp.Ignored = !fi.IsPublic; } } } } return(jp); }
/*public ShouldSerializeContractResolver() : base() * { * NamingStrategy = new CamelCaseNamingStrategy(); * // { * // ProcessDictionaryKeys = true, * // OverrideSpecifiedNames = true * // }; * }*/ protected override JsonProperty CreateProperty(System.Reflection.MemberInfo member, Newtonsoft.Json.MemberSerialization memberSerialization) { var property = base.CreateProperty(member, memberSerialization); if (property.DeclaringType == typeof(BaseEntity) || property.DeclaringType.BaseType == typeof(BaseEntity)) { if (property.PropertyName == "serializableProperties") { property.ShouldSerialize = instance => { return(false); }; } else { property.ShouldSerialize = instance => { var p = (User)instance; return(p.serializableProperties.Contains(property.PropertyName)); }; } } return(property); }