JsonSerializer.cs 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. using System;
  2. using System.IO;
  3. namespace MediaBrowser.Common.Json
  4. {
  5. public class JsonSerializer
  6. {
  7. public static void SerializeToStream<T>(T obj, Stream stream)
  8. {
  9. ServiceStack.Text.JsonSerializer.SerializeToStream<T>(obj, stream);
  10. }
  11. public static void SerializeToFile<T>(T obj, string file)
  12. {
  13. using (StreamWriter streamWriter = new StreamWriter(file))
  14. {
  15. ServiceStack.Text.JsonSerializer.SerializeToWriter<T>(obj, streamWriter);
  16. }
  17. }
  18. public static object DeserializeFromFile(Type type, string file)
  19. {
  20. using (Stream stream = File.OpenRead(file))
  21. {
  22. return ServiceStack.Text.JsonSerializer.DeserializeFromStream(type, stream);
  23. }
  24. }
  25. public static T DeserializeFromFile<T>(string file)
  26. {
  27. using (Stream stream = File.OpenRead(file))
  28. {
  29. return ServiceStack.Text.JsonSerializer.DeserializeFromStream<T>(stream);
  30. }
  31. }
  32. public static T DeserializeFromStream<T>(Stream stream)
  33. {
  34. return ServiceStack.Text.JsonSerializer.DeserializeFromStream<T>(stream);
  35. }
  36. public static T DeserializeFromString<T>(string data)
  37. {
  38. return ServiceStack.Text.JsonSerializer.DeserializeFromString<T>(data);
  39. }
  40. public static void Configure()
  41. {
  42. ServiceStack.Text.JsConfig.ExcludeTypeInfo = true;
  43. ServiceStack.Text.JsConfig.IncludeNullValues = false;
  44. }
  45. }
  46. }