使用DataContractJsonSerializer進行JSON序列化的JSONHelper類

public static class JSONHelper
{
/// <summary>
/// 將對象轉化爲Json字符串
/// </summary>
/// <typeparam name="T">對象類型</typeparam>
/// <param name="instanse">對象本身</param>
/// <returns>JSON字符串</returns>
public static string Serializer<T>(this T instanse)
{
try
{
DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream())
{
js.WriteObject(ms, instanse);
ms.Flush();
ms.Seek(0, SeekOrigin.Begin);
StreamReader sr = new StreamReader(ms);
return sr.ReadToEnd();
}
}
catch
{
return String.Empty;
}
}
/// <summary>
/// 將字符串轉化爲JSON對象,如果轉換失敗,返回default(T)
/// </summary>
/// <typeparam name="T">對象類型</typeparam>
/// <param name="s">字符串</param>
/// <returns>轉換值</returns>
public static T Deserializer<T>(this string s)
{
try
{
DataContractJsonSerializer js = new DataContractJsonSerializer(typeof(T));
using (MemoryStream ms = new MemoryStream())
{
StreamWriter sw = new StreamWriter(ms);
sw.Write(s);
sw.Flush();
ms.Seek(0, SeekOrigin.Begin);
return (T)js.ReadObject(ms);
}
}
catch
{
return default(T);
}
}
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章