JsonHelper.cs 786 B

12345678910111213141516171819202122232425262728293031
  1. using Newtonsoft.Json;
  2. using System.ComponentModel;
  3. namespace KYFramework
  4. {
  5. public static class JsonHelper
  6. {
  7. public static string ToJson(object obj, Formatting formatting = Formatting.Indented)
  8. {
  9. return JsonConvert.SerializeObject(obj,formatting);
  10. }
  11. public static T FromJson<T>(string str)
  12. {
  13. T t = JsonConvert.DeserializeObject<T>(str);
  14. ISupportInitialize iSupportInitialize = t as ISupportInitialize;
  15. if (iSupportInitialize == null)
  16. {
  17. return t;
  18. }
  19. iSupportInitialize.EndInit();
  20. return t;
  21. }
  22. public static T Clone<T>(T t)
  23. {
  24. return FromJson<T>(ToJson(t));
  25. }
  26. }
  27. }