Ваши данные Json должны быть сохранены в модели следующим образом:
public class YourJsonData{
public string ServiceKey {get; set;}
//add other names
}
Самое лучшее в этом то, что если вы вызываете свой объект, вы получаете переменную обратно для легкого использования.
тогда вы можете добавить его в задачу:
public async Task<List<YourJsonData>> GetJsonAsync(CancellationToken cancellationToken = default)
{
using (var client = new HttpClient())
{
//Make the request, and ensure we can reach it
var response = await client.GetAsync(yourJosnUrl, cancellationToken);
if (response.IsSuccessStatusCode)
{
//Read the actual stream (download the content)
var content = await response.Content.ReadAsStringAsync();
//Make sure we do have some valid content before we try to deserialize it
if (string.IsNullOrEmpty(content))
{
return new List<YourJsonData>();
}
//Deserialize into a list of yourjsondata
return JsonConvert.DeserializeObject<List<YourJsonData>>(content);
}
}
return new List<YourJsonData>();
}
также, если вы ленивы, вы можете заменить YourJsonData динамическим. Суть в том, что вы не сможете увидеть, к чему обращаетесь.