using System.Globalization; using Newtonsoft.Json.Linq; namespace SparkClient.Model.Extension; public static class CommonExtension { public static string ToSafeString(this object obj) { if (null == obj) { return ""; } else { return obj.ToString( ); } } public static bool IsNullOrEmpty(this string str) { return String.IsNullOrEmpty(str); } public static string toMD5Code(this object obj) { if (null == obj) { return Helper.Common.GenerateMd5Hash(DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff")); } else { var str = $"{DateTime.UtcNow.ToString("yyyy-MM-dd HH:mm:ss.fff")}-{obj.GetHashCode()}-{Helper.Common.AesKey}"; return Helper.Common.GenerateMd5Hash(str); } } public static JToken ConvertJTokenValue(this string value) { // 处理布尔类型(不区分大小写) if (string.Equals(value, "true", StringComparison.OrdinalIgnoreCase)) return new JValue(true); if (string.Equals(value, "false", StringComparison.OrdinalIgnoreCase)) return new JValue(false); // 处理数值类型 if (double.TryParse(value, NumberStyles.Any, CultureInfo.InvariantCulture, out double numericValue)) { // 判断是否为整数 if (numericValue == Math.Truncate(numericValue)) { // 在int范围内转换为整型 if (numericValue >= int.MinValue && numericValue <= int.MaxValue) return new JValue((int)numericValue); // 超出int范围使用long类型 return new JValue((long)numericValue); } // 保留小数部分 return new JValue(numericValue); } // 默认处理为字符串 return new JValue(value); } }