【发布时间】:2017-07-14 16:21:30
【问题描述】:
此程序使用 API 从数据库中获取信息。 JSON 文件进来并填充内容。然后内容填充动态“持有者”,但是当我将持有者分配给“列表”时,数据不会填充列表。我不明白我做错了什么。任何帮助将不胜感激。
public class Rootobject
{
//Employer and Carrier information
public string Employer { get; set; }
public string Phone { get; set; }
public string InsUnder { get; set; }
public string Carrier { get; set; }
public string CarrierPh { get; set; }
public string Group { get; set; }
public string MailTo { get; set; }
public string MailTo2 { get; set; } //place holder
public string MailTo3 { get; set; }
public string EClaims { get; set; }
public string FAXClaims { get; set; }
public string DMOOption { get; set; }
public class iapVm
{
public List<Rootobject> data { get; set; }
}
public static iapVm GetList(string iapNumber)
{
//Response object
iapVm list = new iapVm();
List<Rootobject> lstRootobject = new List<Rootobject>();
// //Create client object for request
var client = new RestClient("http://myurls/json/"); /// call url
var request = new RestRequest(Method.GET);
// //Add parameter
request.AddParameter("Number", Number);
// //Create response object
IRestResponse response = client.Execute(request);
var content = response.Content;
// //Convert string to json
dynamic holder = Newtonsoft.Json.JsonConvert.DeserializeObject(content);
holder = list;
list.data = lstRootobject;
return list;
}
【问题讨论】:
-
您正在填充“持有人”,然后您没有做任何事情并覆盖它成为“列表”。然后你直接与列表交互....但是列表总是一个空的
new iapVm() -
我不确定
IRestResponse返回的是什么,但如果它与HttpClient相同,您是否需要先从内容中取出字符串?例如response.Content.ReadStringAsync().GetAwaiter().GetResult()。这仍然没有解决您没有对持有者做任何事情的任何问题,并且该列表始终是默认实例。 -
我现在只是在猜测,因为没有太多事情要做...但是也许你想删除
holder = list;行,然后在list.data = lstRootobject;下做一个list.data.Add(holder)?跨度> -
你有
content返回的字符串样本 -
你可以试试这个: public static iapVm GetList(string iapNumber) { iapVm list = new iapVm(); var client = new RestClient("myurls/json/"); var request = new RestRequest(Method.GET); request.AddParameter("Number", Number); IRestResponse response = client.Execute(request); var content = response.Content ; List
lstRootobject = Newtonsoft.Json.JsonConvert.DeserializeObject - >(content); list.data = lstRootobject; 返回列表; }
标签: c# json api c#-4.0 json.net