/// <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
以上就是c# json 序列化与反序列化二 的内容。