簡體   English   中英

為什么在從Rest服務反序列化此json對象時出現此轉換錯誤?

[英]Why am I getting this casting error when deserializing this json object from a Rest Service?

我試圖反序列化我從休息服務(使用RestSharp)獲得的json響應,但我不斷收到此錯誤:

無法將類型為'RestSharp.JsonArray'的對象強制轉換為'System.Collections.Generic.IDictionary`2 [System.String,System.Object]'。

響應如下:

“message” : “Successfully authenticated.”,
“total” : null,
“data” : [ {
  “token” : “XYZ”,
  “user” : {
    “password” : “ABC”,
    “username” : “User”
   }
}],
“success” : true

我創建了以下C#對象:

internal class AuthenticationResponse
{
    public string message { get; set; }
    public string total { get; set; }
    public AuthenticationResponseData data { get; set; }
    public bool success {get;set;}
}

internal class AuthenticationResponseData
{
    public string token { get; set; }
    public AuthenticationUser user {get;set;}
}

internal class AuthenticationUser
{
      public string username {get;set;}
       public string password {get;set;}
}

但我不斷收到以下錯誤:

無法將類型為'RestSharp.JsonArray'的對象強制轉換為'System.Collections.Generic.IDictionary`2 [System.String,System.Object]'。

因為在JSON中data值是一個數組。 您需要更改AuthenticationResponse類以表示AuthenticationResponseData。

internal class AuthenticationResponse
{
    public string message { get; set; }
    public string total { get; set; }
    public List<AuthenticationResponseData> data { get; set; }
    public bool success {get;set;}
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM