diff options
| author | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-07-31 12:29:07 -0400 |
|---|---|---|
| committer | LukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com> | 2012-07-31 12:29:07 -0400 |
| commit | defd8ed253a1e47d0951d6e0abf850129f776327 (patch) | |
| tree | d2ee50baeb07d38bc5d8dafa0a725cd377cf99c1 /MediaBrowser.Common/Serialization/JsonSerializer.cs | |
| parent | 3058b71764bd2775fedbb7f71342b497134f6c86 (diff) | |
Added an ApiInteraction project that UI's can use to talk to the server. Moved jsonserializer namespace from json to serialization, since we may be adding an xml serializer.
Diffstat (limited to 'MediaBrowser.Common/Serialization/JsonSerializer.cs')
| -rw-r--r-- | MediaBrowser.Common/Serialization/JsonSerializer.cs | 74 |
1 files changed, 74 insertions, 0 deletions
diff --git a/MediaBrowser.Common/Serialization/JsonSerializer.cs b/MediaBrowser.Common/Serialization/JsonSerializer.cs new file mode 100644 index 000000000..57b285cee --- /dev/null +++ b/MediaBrowser.Common/Serialization/JsonSerializer.cs @@ -0,0 +1,74 @@ +using System;
+using System.IO;
+
+namespace MediaBrowser.Common.Serialization
+{
+ /// <summary>
+ /// Provides a wrapper around third party json serialization.
+ /// </summary>
+ public class JsonSerializer
+ {
+ public static void SerializeToStream<T>(T obj, Stream stream)
+ {
+ Configure();
+
+ ServiceStack.Text.JsonSerializer.SerializeToStream<T>(obj, stream);
+ }
+
+ public static void SerializeToFile<T>(T obj, string file)
+ {
+ Configure();
+
+ using (StreamWriter streamWriter = new StreamWriter(file))
+ {
+ ServiceStack.Text.JsonSerializer.SerializeToWriter<T>(obj, streamWriter);
+ }
+ }
+
+ public static object DeserializeFromFile(Type type, string file)
+ {
+ Configure();
+
+ using (Stream stream = File.OpenRead(file))
+ {
+ return ServiceStack.Text.JsonSerializer.DeserializeFromStream(type, stream);
+ }
+ }
+
+ public static T DeserializeFromFile<T>(string file)
+ {
+ Configure();
+
+ using (Stream stream = File.OpenRead(file))
+ {
+ return ServiceStack.Text.JsonSerializer.DeserializeFromStream<T>(stream);
+ }
+ }
+
+ public static T DeserializeFromStream<T>(Stream stream)
+ {
+ Configure();
+
+ return ServiceStack.Text.JsonSerializer.DeserializeFromStream<T>(stream);
+ }
+
+ public static T DeserializeFromString<T>(string data)
+ {
+ Configure();
+
+ return ServiceStack.Text.JsonSerializer.DeserializeFromString<T>(data);
+ }
+
+ private static bool IsConfigured = false;
+ private static void Configure()
+ {
+ if (!IsConfigured)
+ {
+ ServiceStack.Text.JsConfig.ExcludeTypeInfo = true;
+ ServiceStack.Text.JsConfig.IncludeNullValues = false;
+
+ IsConfigured = true;
+ }
+ }
+ }
+}
|
