using System;
using ;
using ;
using ;
namespace YanZhiwei.DotNet3._5.
{
/// <summary>
/// JavaScriptSerializer help class
/// </summary>
public static class ScriptSerializerHelper
{
#region Handle the time format problem of Json strings
/// <summary>
/// Handle JsonString's time format problem
/// <para>eg:(@"[{'getTime':'\/Date(1419564257428)\/'}]", "yyyyMMdd hh:mm:ss");==>[{'getTime':'20141226 11:24:17'}]</para>
/// <para>Reference: http:///archives/35773 </para>
/// </summary>
/// <param name="jsonString">Json String</param>
/// <param name="formart">Time formatting type</param>
/// <returns>Processed Json string</returns>
public static string ParseJsonTime(this string jsonString, string formart)
{
if (!(jsonString))
{
jsonString = (jsonString, @"\\/Date\((\d+)\)\\/", match =>
{
DateTime _dateTime = new DateTime(1970, 1, 1);
_dateTime = _dateTime.AddMilliseconds(([1].Value));
_dateTime = _dateTime.ToLocalTime();
return _dateTime.ToString(formart);
});
}
return jsonString;
}
/// <summary>
/// Deal with JsonString's time format problem [Time format: yyyy-MM-dd HH:mm:ss]
/// <para>Reference: http:///archives/35773 </para>
/// </summary>
/// <param name="jsonString">Json String</param>
/// <returns>Processed Json string</returns>
public static string ParseJsonTime(this string jsonString)
{
return ParseJsonTime(jsonString, "yyyy-MM-dd HH:mm:ss");
}
#endregion
#region Serialize objects into JSON using JavaScriptSerializer
/// <summary>
/// Use JavaScriptSerializer to serialize objects into JSON strings
/// <para>eg:<Person>(_personList);</para>
/// </summary>
/// <typeparam name="T">Generics</typeparam>
/// <param name="entityList">Object collection</param>
/// <returns>json</returns>
public static string Serialize<T>(this IEnumerable<T> entityList) where T : class
{
string _jsonString = ;
if (entityList != null)
{
JavaScriptSerializer _serializerHelper = new JavaScriptSerializer();
_serializerHelper.MaxJsonLength = ;
_jsonString = _serializerHelper.Serialize(entityList);
}
return _jsonString;
}
#endregion
#region Deserialize json strings using JavaScriptSerializer
/// <summary>
///Use JavaScriptSerializer to deserialize json strings
/// <para>eg:List<Person> _result = (List<Person>)<Person>(_jsonString);</para>
/// </summary>
/// <typeparam name="T">Generics</typeparam>
/// <param name="jsonString"></param>
/// <returns>IEnumerable</returns>
public static IEnumerable<T> Deserialize<T>(this string jsonString) where T : class
{
IEnumerable<T> _list = null;
if (!(jsonString))
{
JavaScriptSerializer _serializerHelper = new JavaScriptSerializer();
_list = _serializerHelper.Deserialize<IEnumerable<T>>(jsonString);
}
return _list;
}
#endregion
}
}
using ;
using ;
using ;
namespace YanZhiwei.DotNet3._5.
{
/// <summary>
/// JavaScriptSerializer help class
/// </summary>
public static class ScriptSerializerHelper
{
#region Handle the time format problem of Json strings
/// <summary>
/// Handle JsonString's time format problem
/// <para>eg:(@"[{'getTime':'\/Date(1419564257428)\/'}]", "yyyyMMdd hh:mm:ss");==>[{'getTime':'20141226 11:24:17'}]</para>
/// <para>Reference: http:///archives/35773 </para>
/// </summary>
/// <param name="jsonString">Json String</param>
/// <param name="formart">Time formatting type</param>
/// <returns>Processed Json string</returns>
public static string ParseJsonTime(this string jsonString, string formart)
{
if (!(jsonString))
{
jsonString = (jsonString, @"\\/Date\((\d+)\)\\/", match =>
{
DateTime _dateTime = new DateTime(1970, 1, 1);
_dateTime = _dateTime.AddMilliseconds(([1].Value));
_dateTime = _dateTime.ToLocalTime();
return _dateTime.ToString(formart);
});
}
return jsonString;
}
/// <summary>
/// Deal with JsonString's time format problem [Time format: yyyy-MM-dd HH:mm:ss]
/// <para>Reference: http:///archives/35773 </para>
/// </summary>
/// <param name="jsonString">Json String</param>
/// <returns>Processed Json string</returns>
public static string ParseJsonTime(this string jsonString)
{
return ParseJsonTime(jsonString, "yyyy-MM-dd HH:mm:ss");
}
#endregion
#region Serialize objects into JSON using JavaScriptSerializer
/// <summary>
/// Use JavaScriptSerializer to serialize objects into JSON strings
/// <para>eg:<Person>(_personList);</para>
/// </summary>
/// <typeparam name="T">Generics</typeparam>
/// <param name="entityList">Object collection</param>
/// <returns>json</returns>
public static string Serialize<T>(this IEnumerable<T> entityList) where T : class
{
string _jsonString = ;
if (entityList != null)
{
JavaScriptSerializer _serializerHelper = new JavaScriptSerializer();
_serializerHelper.MaxJsonLength = ;
_jsonString = _serializerHelper.Serialize(entityList);
}
return _jsonString;
}
#endregion
#region Deserialize json strings using JavaScriptSerializer
/// <summary>
///Use JavaScriptSerializer to deserialize json strings
/// <para>eg:List<Person> _result = (List<Person>)<Person>(_jsonString);</para>
/// </summary>
/// <typeparam name="T">Generics</typeparam>
/// <param name="jsonString"></param>
/// <returns>IEnumerable</returns>
public static IEnumerable<T> Deserialize<T>(this string jsonString) where T : class
{
IEnumerable<T> _list = null;
if (!(jsonString))
{
JavaScriptSerializer _serializerHelper = new JavaScriptSerializer();
_list = _serializerHelper.Deserialize<IEnumerable<T>>(jsonString);
}
return _list;
}
#endregion
}
}