Bri*_*Bro 10 c# restsharp json-deserialization
我以JSON格式启动此RestSharp查询:
var response = restClient.Execute<Report>(request);
Run Code Online (Sandbox Code Playgroud)
我得到的回复包含这些数据
[
{
"Columns":
[
{"Name":"CameraGuid","Type":"Guid"},
{"Name":"ArchiveSourceGuid","Type":"Guid"},
{"Name":"StartTime","Type":"DateTime"},
{"Name":"EndTime","Type":"DateTime"},
{"Name":"TimeZone","Type":"String"},
{"Name":"Capabilities","Type":"UInt32"}
],
"Rows":
[
[
"00000001-0000-babe-0000-00408c71be50",
"3782fe37-6748-4d36-b258-49ed6a79cd6d",
"2013-11-27T17:52:00Z",
"2013-11-27T18:20:55.063Z",
"Eastern Standard Time",
2147483647
]
]
}
]
Run Code Online (Sandbox Code Playgroud)
我正在尝试将其反序列化为这组类:
public class Report
{
public List<ReportResult> Results { get; set; }
}
public class ReportResult
{
public List<ColumnField> Columns { get; set; }
public List<RowResult> Rows { get; set; }
}
public class ColumnField
{
public string Name { get; set; }
public string Type { get; set; }
}
public class RowResult
{
public List<string> Elements { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,结果数据为null,我得到了这个异常:
无法将类型为'RestSharp.JsonArray'的对象强制转换为'System.Collections.Generic.IDictionary`2 [System.String,System.Object]'.
我无法弄清楚这里有什么问题.我将不胜感激.
Red*_*eda 22
试试这个:
var response = restClient.Execute<List<ReportResult>>(request);
Run Code Online (Sandbox Code Playgroud)
编辑
你还应该ReportResult改为:
public class ReportResult
{
public List<ColumnField> Columns { get; set; }
public List<List<string>> Rows { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
你可以摆脱Report和RowResult.
| 归档时间: |
|
| 查看次数: |
19040 次 |
| 最近记录: |