public StringValueComparer(string compareValue, StringCompareType compareType) { _compareType = compareType; if (_compareType.HasFlagFast(StringCompareType.IgnoreCase)) { _compareValue = compareValue.ToUpper(); } else { _compareValue = compareValue; } }
/// <summary> /// Get all values of specified property from JSON array. /// </summary> /// <param name="jo">The JSON array instance.</param> /// <param name="identity">The identity of property name.</param> /// <param name="compareType">The compare method of identity.</param> /// <returns>The string list of got values.</returns> public static List <string> GetPropValuesFromJSONArray(JArray ja, string identity, StringCompareType compareType) { List <string> results = new List <string>(); foreach (var p in ja) { if (p.Type == JTokenType.Object) { foreach (string s in GetPropValuesFromJSONObject((JObject)p, identity, compareType)) { results.Add(s); } } else if (p.Type == JTokenType.Array) { foreach (string s in GetPropValuesFromJSONArray((JArray)p, identity, compareType)) { results.Add(s); } } } return(results); }
/// <summary> /// Get all values of specified property from JSON object. /// </summary> /// <param name="jo">The JSON object instance.</param> /// <param name="identity">The identity of property name.</param> /// <param name="compareType">The compare method of identity.</param> /// <returns>The string list of got values.</returns> public static List <string> GetPropValuesFromJSONObject(JObject jo, string identity, StringCompareType compareType) { List <string> results = new List <string>(); bool isExist = false; foreach (var p in jo) { isExist = false; if (p.Value.Type == JTokenType.Object) { foreach (string link in GetPropValuesFromJSONObject((JObject)p.Value, identity, compareType)) { results.Add(link); } } else if (p.Value.Type == JTokenType.Array) { foreach (string link in GetPropValuesFromJSONArray((JArray)p.Value, identity, compareType)) { results.Add(link); } } else { switch (compareType) { case StringCompareType.Equal: isExist = p.Key.ToString().Equals(identity); break; case StringCompareType.Contain: isExist = p.Key.ToString().Contains(identity); break; default: break; } if (isExist) { results.Add(p.Value.ToString().StripOffDoubleQuotes()); } } } return(results); }
public DescendingOrderStringComparer(StringCompareType compareType) : base(compareType) { }
/// <summary> /// Get all values of specified property from JSON object. /// </summary> /// <param name="jo">The JSON object instance.</param> /// <param name="identity">The identity of property name.</param> /// <param name="compareType">The compare method of identity.</param> /// <returns>The string list of got values.</returns> public static List<string> GetPropValuesFromJSONObject(JObject jo, string identity, StringCompareType compareType) { List<string> results = new List<string>(); bool isExist = false; foreach (var p in jo) { isExist = false; if (p.Value.Type == JTokenType.Object) { foreach (string link in GetPropValuesFromJSONObject((JObject)p.Value, identity, compareType)) { results.Add(link); } } else if (p.Value.Type == JTokenType.Array) { foreach (string link in GetPropValuesFromJSONArray((JArray)p.Value, identity, compareType)) { results.Add(link); } } else { switch (compareType) { case StringCompareType.Equal: isExist = p.Key.ToString().Equals(identity); break; case StringCompareType.Contain: isExist = p.Key.ToString().Contains(identity); break; default: break; } if (isExist) { results.Add(p.Value.ToString().StripOffDoubleQuotes()); } } } return results; }
/// <summary> /// Get all values of specified property from JSON array. /// </summary> /// <param name="jo">The JSON array instance.</param> /// <param name="identity">The identity of property name.</param> /// <param name="compareType">The compare method of identity.</param> /// <returns>The string list of got values.</returns> public static List<string> GetPropValuesFromJSONArray(JArray ja, string identity, StringCompareType compareType) { List<string> results = new List<string>(); foreach (var p in ja) { if (p.Type == JTokenType.Object) { foreach (string s in GetPropValuesFromJSONObject((JObject)p, identity, compareType)) { results.Add(s); } } else if (p.Type == JTokenType.Array) { foreach (string s in GetPropValuesFromJSONArray((JArray)p, identity, compareType)) { results.Add(s); } } } return results; }
public StringComparer(StringCompareType compareType) { CompareType = compareType; }
public static bool HasFlagFast(this StringCompareType value, StringCompareType flag) { return((value & flag) != 0); }