JsonHelper

  .net下的json序列化在以前没有Newtonsoft.Json崭露头角之前采用System.Web.Script.Serialization命名空间下的JavaScriptSerializer对象进行序列化和反序列化的操作,随着Newtonsoft.Json的出现和优越的性能表现基本成为.net下的首选。

      Newtonsoft.json自身已经提供了丰富的API,让序列化变得简单和易用。项目中喜欢封装一些helper,在原有基于JavaScriptSerializer基础上稍加改造即可完成jsonHelper的改造。

 

using Newtonsoft.Json;
namespace Common
{
    public class JsonHelper
    {
        /// <summary>
        /// json实体反序列化
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="json">json</param>
        /// <returns>实体</returns>
        public static T Deserialize<T>(string json)
        {
            T t = default(T);
            if (!string.IsNullOrWhiteSpace(json))
            {
                t = (T)JsonConvert.DeserializeObject(json, typeof(T));
            }
            return t;
        }

        /// <summary>
        /// 实体序列化json
        /// </summary>
        /// <typeparam name="T">实体类型</typeparam>
        /// <param name="t">实体</param>
        /// <returns>json</returns>
        public static string Serialize<T>(T t)
        {
            string json = string.Empty;
            if (t != null)
            {
                json = JsonConvert.SerializeObject(t);
            }
            return json;
        }
    }
}

 

posted @ 2016-11-09 00:16  京沙  阅读(563)  评论(0编辑  收藏  举报