我正在嘗試將一個簡單的 json 字串轉換為我的類
JSON字串
{"Title":"SQL","Connection":"","Command":"select * from tbl_roles"}
班級
public class EmailMessage
{
[JsonProperty("Title")]
public string Title { get; set; }
[JsonProperty("Connection")]
public string Connection { get; set; }
[JsonProperty("Command")]
public string Command { get; set; }
}
C# 代碼
EmailMessage emailMessage = JsonConvert.DeserializeObject(email.BodyText.Text.Replace("\r",string.Empty).Replace("\n",string.Empty)) as EmailMessage;
回傳 null 的變數
司令部手表的形象
JsonConvert.DeserializeObject(email.BodyText.Text.Replace("\r",string.Empty).Replace("\n",string.Empty))

uj5u.com熱心網友回復:
您為可用的 JSON 創建一個變數。
string jsonBody = //Prepare available json string here...
并使用此代碼:
EmailMessage emailMessage = JsonConvert.DeserializeObject<EmailMessage>(jsonBody);
uj5u.com熱心網友回復:
結果JsonConver.DeserializeObject是一個普通的object. 好吧 - 在你的情況下 - 它JObject實際上是一個object. 并且您不能簡單地將object(或JObject) 轉換為EmailMessage,從而somobject as EmailMessage回傳null。因為這就是as運算子的定義方式。
利用
JsonConvert.DeserializeObject<EmailMessage>(...)
反而。如果 JSON 字串無法決議為該型別(或者 JSON 字串首先無效),它將回傳泛型型別引數的實體,或拋出例外
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/401752.html
