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類型json

/// <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));
相關文章
相關標籤/搜索