Json序列化

1,使用DataContractJsonSerializer可以将对象序列化为Json数据,下面是这个类帮手:

View Code
 public static class JsonUtil
    {

        /// <summary>
        /// 最简单的Json序列化
        /// </summary>      
        /// <returns>序列化后的Json对象</returns>
        public static string ToJson1(this object obj)
        {
            //命名空间using System.Web.Script.Serialization;
            JavaScriptSerializer serialize = new JavaScriptSerializer();
            return serialize.Serialize(obj);
        }       

        /// <summary>
        /// Json序列化
        /// </summary>
        public static string ToJson(this object item)
        {
            DataContractJsonSerializer serializer = new DataContractJsonSerializer(item.GetType());

            using (MemoryStream ms = new MemoryStream())
            {
                serializer.WriteObject(ms, item);
                StringBuilder sb = new StringBuilder();
                sb.Append(Encoding.UTF8.GetString(ms.ToArray()));

                return sb.ToString();
            }
        }
     

        #region Json反序列化
        /// <summary>
        /// Json反序列化
        /// </summary>
        public static T FromJsonTo<T>(this string jsonString)
        {
            DataContractJsonSerializer ser = new DataContractJsonSerializer(typeof(T));

            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(jsonString)))
            {
                T jsonObject = (T)ser.ReadObject(ms);
                return jsonObject;
            }
        }
        #endregion

        #region Json序列化
        /// <summary>
        /// 日期Json序列化
        /// </summary>
        public static string ToJson2(this object item)
        {
            IsoDateTimeConverter timeConverter = new IsoDateTimeConverter();
            timeConverter.DateTimeFormat = "yyyy'-'MM'-'dd";
            return JsonConvert.SerializeObject(item, timeConverter);
        }
        #endregion

    }
posted @ 2012-08-31 18:44  金河  阅读(187)  评论(0编辑  收藏  举报