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