JsonExtension.cs 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using Newtonsoft.Json;
  2. namespace Common
  3. {
  4. public static class JsonExtension
  5. {
  6. public static T TryJsonToT<T>(this string data)
  7. where T : class, new()
  8. {
  9. if (data.ToString().IsJson())
  10. return JsonConvert.DeserializeObject<T>(data);
  11. return default(T);
  12. }
  13. /// <summary>
  14. /// 不过判断
  15. /// </summary>
  16. /// <typeparam name="T"></typeparam>
  17. /// <param name="data"></param>
  18. /// <returns></returns>
  19. public static T TryJsonToTNoD<T>(this string data)
  20. where T : class, new()
  21. {
  22. return JsonConvert.DeserializeObject<T>(data);
  23. }
  24. /// <summary>
  25. ///
  26. /// </summary>
  27. /// <param name="data"></param>
  28. /// <returns></returns>
  29. public static string TryToJson(this object data)
  30. {
  31. return data is string ? data.ToString() : JsonConvert.SerializeObject(data);
  32. }
  33. }
  34. }