JsonHelper
/// <summary>
/// Json Helper Class
/// </summary>
public class JsonHelper
{
/// <summary>
/// Serialize Object to JSON
/// </summary>
/// <param name="o">Object</param>
/// <returns>json string</returns>
public static string SerializeObject(object o)
{
if (o == null)
return string.Empty;
string json = JsonConvert.SerializeObject(o);
return json;
}
/// <summary>
/// Deserialize JSON string to Object
/// </summary>
/// <typeparam name="T">Object</typeparam>
/// <param name="json">json string(eg.{"ID":"112","Name":"test"})</param>
/// <returns>Object</returns>
public static T DeserializeJsonToObject<T>(string json) where T : class
{
T t = null;
try
{
if (string.IsNullOrEmpty(json))
return null;
JsonSerializer serializer = new JsonSerializer();
StringReader sr = new StringReader(json);
object o = serializer.Deserialize(new JsonTextReader(sr), typeof(T));
t = o as T;
}
catch { }
return t;
}
/// <summary>
/// Deserialize JSON array to List
/// </summary>
/// <typeparam name="T">List</typeparam>
/// <param name="json">json array(eg.[{"ID":"112","Name":"test"}])</param>
/// <returns>List</returns>
public static List<T> DeserializeJsonToList<T>(string json) where T : class
{
List<T> list = null;
try
{
if (string.IsNullOrEmpty(json))
return null;
JsonSerializer serializer = new JsonSerializer();
StringReader sr = new StringReader(json);
object o = serializer.Deserialize(new JsonTextReader(sr), typeof(List<T>));
list = o as List<T>;
}
catch { }
return list;
}
/// <summary>
/// Deserialize JSON to anonymousObject.
/// </summary>
/// <typeparam name="T">anonymousObject Type</typeparam>
/// <param name="json">json string</param>
/// <param name="anonymousTypeObject">anonymousTypeObject</param>
/// <returns>anonymousTypeObject</returns>
public static T DeserializeAnonymousType<T>(string json, T anonymousTypeObject)
{
T t = JsonConvert.DeserializeAnonymousType(json, anonymousTypeObject);
return t;
}
}
作者:chhuic
出处:http://chhuic.cnblogs.com
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。