From baedafbeb92db3ddf434f038984970bf0a6ac0c1 Mon Sep 17 00:00:00 2001 From: LukePulverenti Luke Pulverenti luke pulverenti Date: Sun, 15 Jul 2012 16:27:07 -0400 Subject: Switched to service stack json. Added more api enhancements. --- MediaBrowser.Common/Json/JsonSerializer.cs | 70 +++++++++++++++--------------- 1 file changed, 35 insertions(+), 35 deletions(-) (limited to 'MediaBrowser.Common/Json/JsonSerializer.cs') 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 o, Stream stream) + public static void SerializeToStream(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(o, stream); } - public static void Serialize(T o, string file) + public static void SerializeToFile(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(o, streamWriter); } } - public static T Deserialize(string file) + public static T DeserializeFromFile(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(reader); - } + return ServiceStack.Text.JsonSerializer.DeserializeFromStream(stream); } } + + public static T DeserializeFromStream(Stream stream) + { + Configure(); + + return ServiceStack.Text.JsonSerializer.DeserializeFromStream(stream); + } + + public static T DeserializeFromString(string data) + { + Configure(); + + return ServiceStack.Text.JsonSerializer.DeserializeFromString(data); + } + + private static void Configure() + { + ServiceStack.Text.JsConfig.ExcludeTypeInfo = true; + ServiceStack.Text.JsConfig.IncludeNullValues = false; + ServiceStack.Text.JsConfig.DateHandler = ServiceStack.Text.JsonDateHandler.ISO8601; + } } } -- cgit v1.2.3