zoukankan      html  css  js  c++  java
  • C# Json 和对象的相互转换

    Json 和对象的相互转换

        /// <summary>
        /// Json 和对象的相互转换  ——需引用using Newtonsoft.Json;   即:Jsonnet.net.....
        /// </summary>
        public static class JsonHelper
        {
            /// <summary>
            /// 把对象转换为JSON字符串
            /// </summary>
            /// <param name="o">对象</param>
            /// <returns>JSON字符串</returns>
            public static string ObjectToJson(this object o)
            {
                if (o == null) return null;
                return JsonConvert.SerializeObject(o);
            }
    
            /// <summary>
            /// 把Json文本转为实体
            /// </summary>
            /// <typeparam name="T"></typeparam>
            /// <param name="input"></param>
            /// <returns></returns>
            public static T JsonToObject<T>(this string input)
            {
                try
                {
                    return JsonConvert.DeserializeObject<T>(input);
                }
                catch (Exception ex)
                {
                    return default(T);
                }
            }
      
        }
    

    使用如下所示:

      private void btnObjToJson_Click(object sender, EventArgs e)
            {
                List<Test> timePart = new List<Test>();
                timePart.Add(new Test { BeginTime = 8.10, EndTime = 8.15 });
                timePart.Add(new Test { BeginTime = 8.15, EndTime = 8.25 });
                timePart.Add(new Test { BeginTime = 8.26, EndTime = 8.55 });
    
                string json = JsonHelper.ObjectToJson(timePart);
                MessageBox.Show("json
    ==" + json);
            }
    
            private void btnJsonToObj_Click(object sender, EventArgs e)
            {
                List<Test> timePart = new List<Test>();
                timePart.Add(new Test { BeginTime = 8.10, EndTime = 8.15 });
                timePart.Add(new Test { BeginTime = 8.15, EndTime = 8.25 });
                timePart.Add(new Test { BeginTime = 8.26, EndTime = 8.55 });
    
                string json = JsonHelper.ObjectToJson(timePart);
    
                List<Test> list = JsonHelper.JsonToObject<List<Test>>(json);
                MessageBox.Show("list==" +list.Count);
            }
    

      

  • 相关阅读:
    搞定Mac Maven
    《数学之美》读书笔记
    Scalable Web Architecture and Distributed Systems
    【程序员】修炼之书
    用平常心,做非常事(字节跳动九周年张一鸣演讲)
    动态规划题目总结
    Spring Boot 启动时,让方法自动执行的 4 种方法!
    MybatisGenerator生成mapper、dao、entity
    HTTPS的GET、POST、PUT、DELETE请求
    SpringBoot使用Slf4j进行日志配置
  • 原文地址:https://www.cnblogs.com/YYkun/p/10718746.html
Copyright © 2011-2022 走看看