zoukankan      html  css  js  c++  java
  • 搭框架 泛型 笔记

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

  • 相关阅读:
    BZOJ2697 特技飞行 【贪心】
    BZOJ2795/2890/3647 [Poi2012]A Horrible Poem 【字符串hash】
    BZOJ2823 [AHOI2012]信号塔 【最小圆覆盖】
    BZOJ2924 [Poi1998]Flat broken lines 【Dilworth定理 + 树状数组】
    洛谷P3759 [TJOI2017]不勤劳的图书管理员 【树状数组套主席树】
    POJ 2955
    江南大学第三届程序设计竞赛K题
    Codeforces 894C
    Codeforces 894B
    HDU 1789
  • 原文地址:https://www.cnblogs.com/dean-Wei/p/3338814.html
Copyright © 2011-2022 走看看