aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common/Json/JsonSerializer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Common/Json/JsonSerializer.cs')
-rw-r--r--MediaBrowser.Common/Json/JsonSerializer.cs55
1 files changed, 55 insertions, 0 deletions
diff --git a/MediaBrowser.Common/Json/JsonSerializer.cs b/MediaBrowser.Common/Json/JsonSerializer.cs
new file mode 100644
index 000000000..c9b8d8e85
--- /dev/null
+++ b/MediaBrowser.Common/Json/JsonSerializer.cs
@@ -0,0 +1,55 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.IO;
+
+namespace MediaBrowser.Common.Json
+{
+ public class JsonSerializer
+ {
+ public static void Serialize<T>(T o, Stream stream)
+ {
+ using (StreamWriter streamWriter = new StreamWriter(stream))
+ {
+ using (Newtonsoft.Json.JsonTextWriter writer = new Newtonsoft.Json.JsonTextWriter(streamWriter))
+ {
+ var settings = new Newtonsoft.Json.JsonSerializerSettings()
+ {
+ NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
+ };
+
+ Newtonsoft.Json.JsonSerializer.Create(settings).Serialize(writer, o);
+ }
+ }
+ }
+
+ public static void Serialize<T>(T o, string file)
+ {
+ using (StreamWriter streamWriter = new StreamWriter(file))
+ {
+ using (Newtonsoft.Json.JsonTextWriter writer = new Newtonsoft.Json.JsonTextWriter(streamWriter))
+ {
+ var settings = new Newtonsoft.Json.JsonSerializerSettings()
+ {
+ NullValueHandling = Newtonsoft.Json.NullValueHandling.Ignore
+ };
+
+ Newtonsoft.Json.JsonSerializer.Create(settings).Serialize(writer, o);
+ }
+ }
+ }
+
+ public static T Deserialize<T>(string file)
+ {
+ using (StreamReader streamReader = new StreamReader(file))
+ {
+ using (Newtonsoft.Json.JsonTextReader reader = new Newtonsoft.Json.JsonTextReader(streamReader))
+ {
+ return Newtonsoft.Json.JsonSerializer.Create(new Newtonsoft.Json.JsonSerializerSettings() { }).Deserialize<T>(reader);
+ }
+ }
+ }
+ }
+}