我正在尝试阅读我的JSON结果.
这是我的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;
}
Run Code Online (Sandbox Code Playgroud)
这是我的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":""
}
}
Run Code Online (Sandbox Code Playgroud)
这是我读取结果的代码
var result = JsonConvert.DeserializeObject<List<JsonResult>>(retPKT);
Run Code Online (Sandbox Code Playgroud)
但获得例外..
无法将当前JSON对象(例如{"name":"value"})反序列化为类型'System.Collections.Generic.List`1 [JsonResult + Data]',因为该类型需要JSON数组(例如[1,2, 3])正确反序列化.要修复此错误,请将JSON更改为JSON数组(例如[1,2,3])或更改反序列化类型,使其成为普通的.NET类型(例如,不是像整数这样的基本类型,而不是类似的集合类型可以从JSON对象反序列化的数组或List.JsonObjectAttribute也可以添加到类型中以强制它从JSON对象反序列化.Path'Data.Status',第1行,第118位.
我怎样才能解决这个问题?
小智 5
在您的Json字符串中,Data是一个对象,而不是一个数组.所以你的JsonResult类应该是这样的:
public class JsonResult
{
public string ResponseStatus;
public string Status;
public string Remarks;
public string ErrorCode;
public Data Data;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2219 次 |
| 最近记录: |