标签:des blog io ar os on div log ad
/// <summary>
/// 序列化帮助类
/// </summary>
public class SerializeHelp
{
#region XML序列化
/// <summary>
/// XML序列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <returns></returns>
public static string XMLSerialize<T>(T t)
{
using (StringWriter sw = new StringWriter())
{
XmlSerializer xz = new XmlSerializer(t.GetType());
xz.Serialize(sw, t);
return sw.ToString();
}
}
/// <summary>
/// XML反序列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <param name="s"></param>
/// <returns></returns>
public static T XMLDeserialize<T>(T t, string s)
{
using (StringReader sr = new StringReader(s))
{
XmlSerializer xz = new XmlSerializer(t.GetType());
return (T)xz.Deserialize(sr);
}
}
#endregion
#region JSON序列化和反序列化
/// <summary>
/// JSON序列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <returns></returns>
public static string JSONSerialize(object jsonObject)
{
using (var ms = new MemoryStream())
{
new DataContractJsonSerializer(jsonObject.GetType()).WriteObject(ms, jsonObject);
return Encoding.UTF8.GetString(ms.ToArray());
}
}
/// <summary>
/// JSON反序列化
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="t"></param>
/// <param name="s"></param>
/// <returns></returns>
public static T JSONDeserialize<T>(string jsonString)
{
using (var memory = new MemoryStream(Encoding.Unicode.GetBytes(jsonString)))
{
var serialize = new DataContractJsonSerializer(typeof(T));
return (T)serialize.ReadObject(memory);
}
}
#endregion
}
标签:des blog io ar os on div log ad
原文地址:http://www.cnblogs.com/xiaoyu369/p/4112334.html