aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Common/Json/JsonSerializer.cs
diff options
context:
space:
mode:
authorLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-07-15 16:27:07 -0400
committerLukePulverenti Luke Pulverenti luke pulverenti <LukePulverenti Luke Pulverenti luke.pulverenti@gmail.com>2012-07-15 16:27:07 -0400
commitbaedafbeb92db3ddf434f038984970bf0a6ac0c1 (patch)
tree92b167ae54d47feebba97e496825f8f271d86903 /MediaBrowser.Common/Json/JsonSerializer.cs
parent2e03cb0916f69b324fe654f92f1642b21eb92005 (diff)
Switched to service stack json. Added more api enhancements.
Diffstat (limited to 'MediaBrowser.Common/Json/JsonSerializer.cs')
-rw-r--r--MediaBrowser.Common/Json/JsonSerializer.cs70
1 files changed, 35 insertions, 35 deletions
diff --git a/MediaBrowser.Common/Json/JsonSerializer.cs b/MediaBrowser.Common/Json/JsonSerializer.cs
index 903482fc8..55663357a 100644
--- a/MediaBrowser.Common/Json/JsonSerializer.cs
+++ b/MediaBrowser.Common/Json/JsonSerializer.cs
@@ -1,55 +1,55 @@
-using System;
-using System.Collections.Generic;
-using System.Linq;
-using System.Text;
-using System.Threading.Tasks;
-using System.IO;
+using System.IO;
namespace MediaBrowser.Common.Json
{
public class JsonSerializer
{
- public static void Serialize<T>(T o, Stream stream)
+ public static void SerializeToStream<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);
- }
- }
+ Configure();
+
+ ServiceStack.Text.JsonSerializer.SerializeToStream<T>(o, stream);
}
- public static void Serialize<T>(T o, string file)
+ public static void SerializeToFile<T>(T o, string file)
{
+ Configure();
+
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);
- }
+ ServiceStack.Text.JsonSerializer.SerializeToWriter<T>(o, streamWriter);
}
}
- public static T Deserialize<T>(string file)
+ public static T DeserializeFromFile<T>(string file)
{
- using (StreamReader streamReader = new StreamReader(file))
+ Configure();
+
+ using (Stream stream = File.OpenRead(file))
{
- using (Newtonsoft.Json.JsonTextReader reader = new Newtonsoft.Json.JsonTextReader(streamReader))
- {
- return Newtonsoft.Json.JsonSerializer.Create(new Newtonsoft.Json.JsonSerializerSettings() { }).Deserialize<T>(reader);
- }
+ 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 void Configure()
+ {
+ ServiceStack.Text.JsConfig.ExcludeTypeInfo = true;
+ ServiceStack.Text.JsConfig.IncludeNullValues = false;
+ ServiceStack.Text.JsConfig.DateHandler = ServiceStack.Text.JsonDateHandler.ISO8601;
+ }
}
}