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

  • 相关阅读:
    latch与DFF
    数字逻辑综合DC脚本示例及解释
    当DiscuzNT遇上了Loadrunner(下)
    [C#学习]在多线程中如何调用Winform
    并发性测试工具
    当DiscuzNT遇上了Loadrunner(上)
    大型网站(高访问、海量数据)技术架构
    Load Runner下载
    Invoke 和 BeginInvoke 的真正涵义
    当DiscuzNT遇上了Loadrunner(中)
  • 原文地址:https://www.cnblogs.com/dean-Wei/p/3338814.html
Copyright © 2011-2022 走看看