Mega Code Archive

 
Categories / C# / Network
 

SerializesDeserializes source into a JSON string

using System; using System.IO; using System.Runtime.Serialization.Json; internal static class JSON {     public static string Stringify<T>(T source) where T : class     {         string ret = null;         DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));         using (MemoryStream memoryStream = new MemoryStream())         {             serializer.WriteObject(memoryStream, source);             memoryStream.Flush();             memoryStream.Position = 0;             using (StreamReader reader = new StreamReader(memoryStream))             {                 ret = reader.ReadToEnd();             }         }         return ret;     }     public static T Parse<T>(string source) where T : class     {         T ret = null;         DataContractJsonSerializer serializer = new DataContractJsonSerializer(typeof(T));         using (MemoryStream memoryStream = new MemoryStream())         {             using (StreamWriter writer = new StreamWriter(memoryStream))             {                 writer.Write(source);                 writer.Flush();                 memoryStream.Position = 0;                 ret = serializer.ReadObject(memoryStream) as T;             }         }         return ret;     } }