C# 無法將類型Newtonsoft.Linq.JToken 隱式轉換為System.Datetime?


前言

今天,前台頁面傳JSON字符串,后台接口以JObject接收數據。發現,在日期轉換的過程中出現以下問題:

該字符串未被識別為有效的 DateTime。

產生錯誤原因

查看代碼,發現,在實體類中日期類型是可空的。同時,前台傳給后台的日期是也是空的。導致后台使用Convert.ToDateTime()進行轉換時,出現以上的問題。

實體:

public Datetime? mdate { get; set;}

后台轉換:

md.mdate=Convert.ToDateTime(data["mdate"]);

解法方案

寫一個方法去判斷日期類型的方法。代碼如下:

public DateTime? GetDate(string mdata) {
  if (!string.IsNullOrEmpty(mdata))
  {
     return Convert.ToDateTime(mdata);
  }
  return null;
}

每次轉換之前對日期進行判斷即可;

md.mdate=GetDate(data["mdate"].ToString());


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM