C#实体类与json相互转换,C#JSON反序列化序列化实体类

什么是JSON:

  1. JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级的数据交换格式。它基于 ECMAScript (欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
  2. JSON 是存储和交换文本信息的语法。类似 XML。
  3. JSON 比 XML 更小、更快,更易解析。
    简而言之json就是,JSON:JavaScript 对象表示法(JavaScript Object Notation)。
需要在项目中进行引用:Newtonsoft.Json.dll
并添加命名空间:using Newtonsoft.Json;
序列化函数:JsonConvert.SerializeObject(object value),它有个重载方法JsonConvert.SerializeObject(object value, params JsonConverter[] converters)。


反序列化函数:JsonConvert.DeserializeObject(string value, Type type)
它有个重载方法JsonConvert.DeserializeObject(string value, Type type, params JsonConverter[] converters)

注意:实体类必须public类型

		/// <summary>
        /// 获取成功返回的JSON实体类
        /// </summary>
        public class InfoReq
        {
            /// <summary>
            /// 返回消息,200成功
            /// </summary>
            public string msg;
            /// <summary>
            /// 返回的数据
            /// </summary>
            public string data;
            /// <summary>
            /// 返回时间
            /// </summary>
            public string DateTimes = DateTime.Now.ToString("yyyy-MM-dd hh:mm:ss");
        }

		InfoReq infoReq = new InfoReq();
		infoReq.msg = "200";
		infoReq.data = "daxi";
		//infoReq.DateTimes ="2019-11-25 12:59:22";
		string result = JsonConvert.SerializeObject(infoReq);
string jsonStr = "{\"msg\":\"404\",\"data\":\"not\",\"DateTimes \":\"2019-12-10 15:22:32\"}";
InfoReq infoReqs = (InfoReq)JsonConvert.DeserializeObject(jsonStr,typeof(InfoReq));
发布了27 篇原创文章 · 获赞 8 · 访问量 3527

猜你喜欢

转载自blog.csdn.net/Kiss_code/article/details/103237662
今日推荐