RestSharp:从 result.Data 获取空值,尽管在调试结果时已返回 JSON
RestSharp :Getting null from the result.Data althouh at the time of debug result has JSON returned
我正在使用 RestSharp 并尝试反序列化 JSON 结果集,当我 运行 代码时,我从 result.Data
中得到空值,尽管在调试时结果返回 JSON。
private static void GetPanelList()
{
var client = new RestClient("http://CCCCCC.XXXXXX.com/API/v3/mailinglists/ML_dfgfghfghfh/contacts");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("x-api-token", "JHFKFKJFYILIOROIY");
// IRestResponse response = client.Execute(request);
var result = client.Execute<List<PanelList>>(request);
foreach(var i in result.Data)
{
foreach(var j in i.elements)
{
Console.WriteLine(j.firstName);
}
}
这是我的 POCO:
public class PanelList
{
public List<elements> elements { get; set; }
}
public class elements
{
public string id { get; set; }
public string firstName { get; set; }
public string lastName { get; set; }
public string email { get; set; }
public string externalDataReference { get; set; }
public List<EmbededData> ED { get; set; }
public List<ResponseHistory> RH { get; set; }
public List<EmailHistory> EH { get; set; }
}
这是我的 json 结果在尝试解析时的样子。
{ "result": {
"elements": [
{
"id": "MLRP_b7q690QRSqCxVuR",
"firstName": "S1-User1-firstname",
"lastName": "S1-U2-lastname",
"email": "S1U1@XXXX.org.au",
"externalDataReference": null,
"embeddedData": {
"DateTaken": "20160519",
"TriggerResponseID": "R_3fE6zgBzLa24dgD",
"TriggerSurveyID": "SV_3TXTMnJlsUxVGRL"
},
"language": null,
"unsubscribed": false,
"responseHistory": [
{
"responseId": "R_3fE6zgBzLa24dgD",
"surveyId": "SV_3TXTMnJlsUxVGRL",
"date": "2016-05-20T04:09:09Z",
"emailDistributionId": null,
"finishedSurvey": true
}
],
"emailHistory": [
{
"emailDistributionId": "EMD_41wVLKlQaADQBcF",
"date": "2016-05-24T00:33:02Z",
"type": "Invite",
"result": "Success",
"surveyId": "SV_8wFieltINfFL2gl",
"read": false
}
]
}]}}
你不应该读入结果 "container" 对象吗?
容器class:
public class PanelListContainer
{
public PanelList result { get; set; }
}
获取代码:
var result = client.Execute<PanelListContainer>(request);
我正在使用 RestSharp 并尝试反序列化 JSON 结果集,当我 运行 代码时,我从 result.Data
中得到空值,尽管在调试时结果返回 JSON。
private static void GetPanelList()
{
var client = new RestClient("http://CCCCCC.XXXXXX.com/API/v3/mailinglists/ML_dfgfghfghfh/contacts");
var request = new RestRequest(Method.GET);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("x-api-token", "JHFKFKJFYILIOROIY");
// IRestResponse response = client.Execute(request);
var result = client.Execute<List<PanelList>>(request);
foreach(var i in result.Data)
{
foreach(var j in i.elements)
{
Console.WriteLine(j.firstName);
}
}
这是我的 POCO:
public class PanelList
{
public List<elements> elements { get; set; }
}
public class elements
{
public string id { get; set; }
public string firstName { get; set; }
public string lastName { get; set; }
public string email { get; set; }
public string externalDataReference { get; set; }
public List<EmbededData> ED { get; set; }
public List<ResponseHistory> RH { get; set; }
public List<EmailHistory> EH { get; set; }
}
这是我的 json 结果在尝试解析时的样子。
{ "result": {
"elements": [
{
"id": "MLRP_b7q690QRSqCxVuR",
"firstName": "S1-User1-firstname",
"lastName": "S1-U2-lastname",
"email": "S1U1@XXXX.org.au",
"externalDataReference": null,
"embeddedData": {
"DateTaken": "20160519",
"TriggerResponseID": "R_3fE6zgBzLa24dgD",
"TriggerSurveyID": "SV_3TXTMnJlsUxVGRL"
},
"language": null,
"unsubscribed": false,
"responseHistory": [
{
"responseId": "R_3fE6zgBzLa24dgD",
"surveyId": "SV_3TXTMnJlsUxVGRL",
"date": "2016-05-20T04:09:09Z",
"emailDistributionId": null,
"finishedSurvey": true
}
],
"emailHistory": [
{
"emailDistributionId": "EMD_41wVLKlQaADQBcF",
"date": "2016-05-24T00:33:02Z",
"type": "Invite",
"result": "Success",
"surveyId": "SV_8wFieltINfFL2gl",
"read": false
}
]
}]}}
你不应该读入结果 "container" 对象吗?
容器class:
public class PanelListContainer
{
public PanelList result { get; set; }
}
获取代码:
var result = client.Execute<PanelListContainer>(request);