JsonToMod.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.IO;
  6. using Newtonsoft.Json;
  7. namespace Ant.ORM
  8. {
  9. public class JsonToMod
  10. {
  11. /// <summary>
  12. /// 实体转为Json格式
  13. /// </summary>
  14. /// <param name="entity">实体</param>
  15. /// <returns></returns>
  16. public static string ToJson(object entity)
  17. {
  18. var serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(entity.GetType());
  19. using (var ms = new MemoryStream())
  20. {
  21. serializer.WriteObject(ms, entity);
  22. var sb = new StringBuilder();
  23. sb.Append(Encoding.UTF8.GetString(ms.ToArray()));
  24. return sb.ToString();
  25. }
  26. }
  27. /// <summary>
  28. /// Json格式转成实体
  29. /// </summary>
  30. /// <typeparam name="T"></typeparam>
  31. /// <param name="jsonstr"></param>
  32. /// <returns></returns>
  33. public static object ToObject<T>(string jsonstr) where T : new()
  34. {
  35. T obj = new T();
  36. var json = new System.Runtime.Serialization.Json.DataContractJsonSerializer(typeof(T));
  37. using (MemoryStream stream = new MemoryStream(System.Text.Encoding.UTF8.GetBytes(jsonstr)))
  38. {
  39. T mod = (T)json.ReadObject(stream);
  40. }
  41. return obj;
  42. }
  43. }
  44. }