加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – RestSharp JSON数组反序列化

发布时间:2020-12-15 04:00:21 所属栏目:百科 来源:网络整理
导读:我以 JSON格式启动这个RestSharp查询: var response = restClient.ExecuteReport(request); 我得到的响应包含这些数据 [ { "Columns": [ {"Name":"CameraGuid","Type":"Guid"},{"Name":"ArchiveSourceGuid",{"Name":"StartTime","Type":"DateTime"},{"Name"
我以 JSON格式启动这个RestSharp查询:
var response = restClient.Execute<Report>(request);

我得到的响应包含这些数据

[
    {
        "Columns":
        [
            {"Name":"CameraGuid","Type":"Guid"},{"Name":"ArchiveSourceGuid",{"Name":"StartTime","Type":"DateTime"},{"Name":"EndTime",{"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
            ]
        ]
    }
]

我试图将它反序列化成这组课程:

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; }
}

不幸的是,结果数据为空,我得到这个例外:

Unable to cast object of type ‘RestSharp.JsonArray’ to type
‘System.Collections.Generic.IDictionary`2[System.String,System.Object]’.

我不知道这里有什么问题.
我很少的帮助将不胜感激.

解决方法

尝试这个:
var response = restClient.Execute<List<ReportResult>>(request);

编辑

您还应该将ReportResult更改为:

public class ReportResult
{
  public List<ColumnField> Columns { get; set; }
  public List<List<string>>   Rows { get; set; }
}

你可以摆脱Report和RowResult.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读