搭框架 泛型 笔记

 1、把对象转化成json字符串

        /// <summary>
        /// 把对象转化成json字符串
        /// </summary>
        /// <typeparam name=“T”>类型</typeparam>
        /// <param name="data"></param>
        /// <returns>data对象</returns>
        public string ObjectToJson<T>(T model)
        {
            System.Runtime.Serialization.Json.DataContractJsonSerializer serializer = new System.Runtime.Serialization.Json.DataContractJsonSerializer(model.GetType());
            using (MemoryStream ms = new MemoryStream())
            {
                serializer.WriteObject(ms, model);
                return Encoding.UTF8.GetString(ms.ToArray());
            }
        }
  或者:第三方Newtonsoft.Json.dll

    /// <summary>
        /// 把对象转化成json字符串
        /// </summary>
        /// <typeparam name=“T”>类型</typeparam>
        /// <param name="data"></param>
        /// <returns>data对象</returns>
        public string ObjectToJsonNewton<T>(T model)
        {
            return JsonConvert.SerializeObject(model);
        }

2、把集合list 转化成 json

        /// <summary>
        /// 把集合list 转化成 json
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="data"></param>
        /// <returns></returns>
        public string ObjectListToJson<T>(IList<T> data)
        {
            DataContractJsonSerializer json = new DataContractJsonSerializer(data.GetType());
            string JsonStr = "";
            //序列化       
            using (MemoryStream stream = new MemoryStream())
            {
                json.WriteObject(stream, data);
                JsonStr = Encoding.UTF8.GetString(stream.ToArray());
            }
            return JsonStr;

        }

3、JsonString 转化成对象列表

    /// <summary>
        /// JsonString 转化成对象列表
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="JsonStr"></param>
        /// <returns></returns>
        public List<T> JsonToObjectList<T>(string JsonStr)
        {
            JavaScriptSerializer Serializer = new JavaScriptSerializer();
            List<T> objs = Serializer.Deserialize<List<T>>(JsonStr);
            return objs;
        }

   或者:

        /// <summary>
        /// JsonString 转化成对象
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="json"></param>
        /// <returns></returns>
        public T JsonToObject<T>(string json)
        {
            T obj = Activator.CreateInstance<T>();
            using (MemoryStream ms = new MemoryStream(Encoding.UTF8.GetBytes(json)))
            {
                DataContractJsonSerializer serializer = new DataContractJsonSerializer(obj.GetType());
                return (T)serializer.ReadObject(ms);
            }
        }

原文地址:https://www.cnblogs.com/dean-Wei/p/3338814.html