using System.Text.RegularExpressions; using Newtonsoft.Json.Serialization; namespace Gs.HostIIS; public class CustomContractResolver : DefaultContractResolver { protected override string ResolvePropertyName(string strItem) { var hasLowercase = Regex.IsMatch(strItem, @"[a-z]"); if (hasLowercase && !strItem.Contains("_")) { var chars = strItem.ToCharArray(); chars[0] = char.ToLower(chars[0]); return new string(chars); } var strItems = strItem.ToLower().Split('_'); var strItemTarget = strItems[0]; for (var j = 1; j < strItems.Length; j++) { var temp = strItems[j]; var temp1 = temp[0].ToString().ToUpper(); var temp2 = ""; temp2 = temp1 + temp.Remove(0, 1); strItemTarget += temp2; } return strItemTarget; } }