我想讀取我的JSON結果。無法將當前JSON對象反序列化爲類型'System.Collections.Generic.List
這裏是我的JsonResult
public class JsonResult
{
public string ResponseStatus;
public string Status;
public string Remarks;
public string ErrorCode;
public List<Data> data;
}
public class Data
{
public string Status;
public DateTime Date;
public string Number;
public string Amount;
public string Balance;
public string TranId;
public string OPTId;
public string RefId;
}
這裏是我的JSON結果
{
"ResponseStatus":"1",
"Status":"Success",
"Remarks":"Your recharge has been Pending.",
"ErrorCode":"3",
"Data":
{
"Status":"Pending",
"Date":"2017-02-23T17:22:26.2001954+05:30",
"Number":"9915933511",
"Amount":10.0,
"Balance":137.714,
"TranId":"1126887",
"OPTId":"","RefId":""
}
}
這裏是我的代碼讀取結果
var result = JsonConvert.DeserializeObject<List<JsonResult>>(retPKT);
,但得到的異常..
無法反序列化當前的JSON對象(例如, {「name」:「value」}) 類型爲'System.Collections.Generic.List`1 [JsonResult + Data]',因爲 該類型需要JSON數組(例如[1,2,3])來反序列化 正確。要解決這個錯誤,可以將JSON更改爲JSON數組(例如[1,2,3]),或者更改反序列化類型,以便它是一個正常的 .NET類型(例如,不是基本類型,如整數,而不是集合 類型類似於數組或列表),可以從JSON 對象反序列化。 JsonObjectAttribute也可以添加到類型中,以強制它從一個JSON對象反序列化。路徑'Data.Status',第1行, 位置118.
我該如何解決這個問題?
要自己達成此解決方案:驗證您的JSON以確保其有效(http://jsonlint.com),然後將完整的JSON字符串輸入到http://json2csharp.com以爲您構建類。 –