【发布时间】:2020-11-04 11:42:31
【问题描述】:
我有一个 json 响应,我试图用 RestSharp 反序列化 看起来是这样的
[{"cname":"APPLICANT NAME","dob":"01-01-1997","gender":"2","msg":"Ok","msgcode":"0"},
{"results":
[{"subjectcode":"214","subject":"SOCIAL STUDIES","grade":"C5"},
{"subjectcode":"302","subject":"ENGLISH LANG","grade":"C5"},
{"subjectcode":"402","subject":"MATHEMATICS(CORE)","grade":"E8"},
{"subjectcode":"517","subject":"INTEGRATED SCIENCE","grade":"D7"},
{"subjectcode":"203","subject":"ECONOMICS","grade":"D7"},
{"subjectcode":"204","subject":"GEOGRAPHY","grade":"B3"},
{"subjectcode":"205","subject":"GOVERNMENT","grade":"C6"},
{"subjectcode":"207","subject":"HISTORY","grade":"B3"}]
}]
我创建了这些类来帮助我进行序列化
public class Result
{
public string subjectcode { get; set; }
public string subject { get; set; }
public string grade { get; set; }
}
public class StudentDetail
{
public string cname { get; set; }
public string dob { get; set; }
public string gender { get; set; }
public string msg { get; set; }
public string msgcode { get; set; }
public List<Result> results { get; set; }
}
public class VerifyData
{
public List<StudentDetail> StudentDetails { get; set; }
}
但是,每当我尝试使用 RestSharp 反序列化时
IRestResponse response = client.Execute<VerifyData>(request);
我收到以下错误消息:
{"无法将 'RestSharp.JsonArray' 类型的对象转换为类型 'System.Collections.Generic.IDictionary`2[System.String,System.Object]'。"}
任何指针,已经搜索了类似的问题,但无法解决这个问题。 谢谢
Json 数据现在是
[{"cname":"APPLICANT NAME","dob":"01-01-1997","gender":"2","msg":"Ok","msgcode":"0",
"results":
[{"subjectcode":"214","subject":"SOCIAL STUDIES","grade":"C5"},
{"subjectcode":"302","subject":"ENGLISH LANG","grade":"C5"},
{"subjectcode":"402","subject":"MATHEMATICS(CORE)","grade":"E8"},
{"subjectcode":"517","subject":"INTEGRATED SCIENCE","grade":"D7"},
{"subjectcode":"203","subject":"ECONOMICS","grade":"D7"},
{"subjectcode":"204","subject":"GEOGRAPHY","grade":"B3"},
{"subjectcode":"205","subject":"GOVERNMENT","grade":"C6"},
{"subjectcode":"207","subject":"HISTORY","grade":"B3"}]
}]
【问题讨论】: