试图获取日期列表,我需要在URL之间添加2个字符串
需要反序列化到DateTime列表中的帮助
public async Task<List<DateTime>>GetDate()
{
// Original Url http://local:8796550/serv/newobj/v678/object/35b724c5424/serv/addIDinhere/dates .
List<DateTime> dates = new List<DateTime>();
var Id= "xxxxxxxxxxxxxxhola57a";
var Uri = "http://local:8796550/serv/newobj/v678/object/35b724c5424/serv/";
var Date="/dates";
var client = new HttpClient();
var ServicesDateRequest = await client.GetAsync($"{Uri}&={Id}&={Date}");
string oj = await ServicesDateRequest.Content.ReadAsStringAsync();
//here deserialized it into datetime list
var DatesJson = JsonConvert.DeserializeObject<dates>(oj);
return dates;
}
答案 0 :(得分:0)
使用string interpolation时,只需要花括号和表达式。在每个组件之间添加的"&="
对于获得所需的url格式是不必要的(假设所需的格式是“原始网址”注释所显示的格式)。
var ServicesDateRequest = await client.GetAsync($"{Uri}{Id}{Date}");
有关反序列化,请查看所用方法的文档。具体来说,有关类型参数的部分。 JsonConvert.DeserializeObject<T>(string)
。
类型参数 Ť 要反序列化的对象的类型。
换句话说,您应该使用要反序列化的类型(在这种情况下为List<DateTime>
而不是变量的名称。
答案 1 :(得分:0)
尝试一下。您可以使用string.format来设置带有查询字符串参数的URL格式。 进行反序列化时,您需要使用无数据类型。
public async Task<List<DateTime>> GetDate()
{
// Original Url http://local:8796550/serv/newobj/v678/object/35b724c5424/serv/addIDinhere/dates .
List<DateTime> dates = new List<DateTime>();
var Id = "xxxxxxxxxxxxxxhola57a";
var Date = "/dates";
var client = new HttpClient();
var formatedUrl = string.Format("http://local:8796550/serv/newobj/v678/object/35b724c5424/serv/?id={0}&date={1}", Id, Date);
var ServicesDateRequest = await client.GetAsync(formatedUrl);
string oj = await ServicesDateRequest.Content.ReadAsStringAsync();
//here deserialized it into datetime list
var DatesJson = JsonConvert.DeserializeObject<DateTime>(oj);
return DatesJson;
}