GetAirports
позвольте мне заполнить _airports
, если это будет переиндексировано, это означает, что я мог бы также получить аэропорт, если бы использовал _airport[0]
Но для получения аэропортов с этой общедоступной ссылкой API https://desktopapps.ryanair.com/en-gb/res/stations используется индексированный массив с назначенными им объектами. Как я могу динамически заполнить _airports
и извлечь их, не зная фактического имени индекса?
public async Task<List<Airports>> GetAirports()
{
string url = _BASEURL;
if( _airports == null)
_airports = await GetAsync<List<Airports>>(url);
return _airports;
}
Функция GetAsync:
protected async Task<T> GetAsync<T>(string url)
{
using (HttpClient client = CreateHttpClient())
{
try
{
var json = await client.GetStringAsync(url);
return await Task.Run(() => JsonConvert.DeserializeObject<T>(json));
}
catch (Exception ex)
{
Debug.WriteLine(ex.Message);
return default(T);
}
}
}
Модель аэропорта:
public class Airports
{
public string Name { get; set; }
public string Country { get; set; }
public string TimeZone { get; set; }
public string Latitude { get; set; }
public string Longitude { get; set; }
}
из API
"AAL":{
"name":"Aalborg Airport",
"country":"DK",
"timeZone":"DK",
"latitude":"570535N",
"longitude":"0095100E"
},
"AAR":{...}