SoFunction
Updated on 2025-03-02

Example of JavaScriptSerializer helper class usage in C#

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
    }
}