コード例 #1
0
        public static string Serialize <T>(T value, MessageMediaTypes mediaType = MessageMediaTypes.Json)
        {
            var formatter = (mediaType == MessageMediaTypes.Json) ? (MediaTypeFormatter) new JsonMediaTypeFormatter() : (MediaTypeFormatter) new XmlMediaTypeFormatter();

            Stream stream  = new MemoryStream();
            var    content = new StreamContent(stream);

            formatter.WriteToStreamAsync(typeof(T), value, stream, content, null).Wait();
            stream.Position = 0;
            return(content.ReadAsStringAsync().Result);
        }
コード例 #2
0
        public static T Deserialize <T>(string content, MessageMediaTypes mediaType = MessageMediaTypes.Json) where T : class
        {
            var formatter = (mediaType == MessageMediaTypes.Json) ? (MediaTypeFormatter) new JsonMediaTypeFormatter() : (MediaTypeFormatter) new XmlMediaTypeFormatter();

            Stream       stream = new MemoryStream();
            StreamWriter writer = new StreamWriter(stream);

            writer.Write(content);
            writer.Flush();
            stream.Position = 0;
            return(formatter.ReadFromStreamAsync(typeof(T), stream, null, null).Result as T);
        }