Json2SqlHelper.cs 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. using Newtonsoft.Json.Linq;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using System.Linq;
  7. namespace SqlSugar
  8. {
  9. internal class Json2SqlHelper
  10. {
  11. public static bool IsSqlValue(string valueString)
  12. {
  13. return Regex.IsMatch(valueString, @"^\{\w{1,10}\}\:");
  14. }
  15. public static string GetType(string valueString)
  16. {
  17. return Regex.Match(valueString, @"^\{(\w+)\}\:").Groups[1].Value;
  18. }
  19. public static string GetValue(string valueString)
  20. {
  21. return Regex.Replace(valueString, @"^\{\w{1,10}\}\:", "");
  22. }
  23. public static List<string> GetTableNames(string json)
  24. {
  25. List<string> result = new List<string>();
  26. var mainTable = JObject.Parse(json).AsJEnumerable().Where(it =>
  27. it.Path.ToLower().IsIn(
  28. JsonProviderConfig.KeyInsertable.Get().ToLower(),
  29. JsonProviderConfig.KeyUpdateable.Get().ToLower(),
  30. JsonProviderConfig.KeyDeleteable.Get().ToLower(),
  31. JsonProviderConfig.KeyQueryable.Get().ToLower()
  32. )).FirstOrDefault();
  33. if (mainTable != null)
  34. result.Add(mainTable.First().ToString());
  35. return result;
  36. }
  37. }
  38. }