/// <summary>
/// 将对象转换为 JSON 字符串
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="input"></param>
/// <returns></returns>
public static string ScriptSerialize<T>(T input)
{
string _jsonString = string.Empty;
if (input != null)
{
JavaScriptSerializer _serializerHelper = new JavaScriptSerializer();
_serializerHelper.MaxJsonLength = int.MaxValue;
_jsonString = _serializerHelper.Serialize(input);
}
return _jsonString;
}
/// <summary>
/// 将指定的 JSON 字符串转换为 T 类型的对象
/// </summary>
/// <typeparam name="T"></typeparam>
/// <param name="input"></param>
/// <returns></returns>
public static T ScriptDeserialize<T>(string input)
{
T rtn = default(T);
if (!string.IsNullOrEmpty(input))
{
JavaScriptSerializer _serializerHelper = new JavaScriptSerializer();
rtn = _serializerHelper.Deserialize<T>(input);
}
return rtn;
}
#region 利用JavaScriptSerializer将对象序列化成JSON
/// <summary>
/// 利用JavaScriptSerializer将对象序列化成JSON字符串
/// </summary>
/// <typeparam name="T">泛型</typeparam>
/// <param name="entityList">对象集合</param>
/// <returns>json</returns>
public static string Serialize<T>(IEnumerable<T> entityList) where T : class
{
string _jsonString = string.Empty;
if (entityList != null)
{
JavaScriptSerializer _serializerHelper = new JavaScriptSerializer();
_serializerHelper.MaxJsonLength = int.MaxValue;
_jsonString = _serializerHelper.Serialize(entityList);
}
return _jsonString;
}
#endregion
#region 利用JavaScriptSerializer将json字符串反序列化
/// <summary>
///利用JavaScriptSerializer将json字符串反序列化
/// </summary>
/// <typeparam name="T">泛型</typeparam>
/// <param name="jsonString"></param>
/// <returns>IEnumerable</returns>
public static IEnumerable<T> Deserialize<T>(string jsonString) where T : class
{
IEnumerable<T> _list = null;
if (!string.IsNullOrEmpty(jsonString))
{
JavaScriptSerializer _serializerHelper = new JavaScriptSerializer();
_list = _serializerHelper.Deserialize<IEnumerable<T>>(jsonString);
}
return _list;
}
#endregion
C# Json 序列化与反序列化一
Josn序列化与反序列化demo