using System.IO; namespace MediaBrowser.Common.Json { public class JsonSerializer { public static void SerializeToStream(T o, Stream stream) { Configure(); ServiceStack.Text.JsonSerializer.SerializeToStream(o, stream); } public static void SerializeToFile(T o, string file) { Configure(); using (StreamWriter streamWriter = new StreamWriter(file)) { ServiceStack.Text.JsonSerializer.SerializeToWriter(o, streamWriter); } } public static T DeserializeFromFile(string file) { Configure(); using (Stream stream = File.OpenRead(file)) { 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; } } }