using System.Runtime.Serialization.Json; using System.IO; using System.Text; namespace xClient.Core.Recovery.Helper { public static class JsonUtil { /// /// Serializes an object to the respectable JSON string. /// public static string Serialize(T o) { var s = new DataContractJsonSerializer(typeof(T)); using (var ms = new MemoryStream()) { s.WriteObject(ms, o); return Encoding.UTF8.GetString(ms.ToArray()); } } /// /// Deserializes a JSON string to the specified object. /// public static T Deserialize(string json) { var s = new DataContractJsonSerializer(typeof(T)); using (var ms = new MemoryStream(Encoding.UTF8.GetBytes(json))) { return (T)s.ReadObject(ms); } } } }