Получить Newtonsoft.Json от NuGet.
И тогда вы можете сделать это следующим образом:
public async Task<T> GetObjectFromContent<T>(HttpContent content) where T: class
{
string response = await content.ReadAsStringAsync();
if (string.IsNullOrWhiteSpace(response))
return null;
try
{
T obj = JsonConvert.DeserializeObject<T>(response);
return obj;
}
catch(JsonSerializationException)
{
return null;
}
}
Сначала я получаю строковый ответ от HttpContent.Это действительно просто JSON в строке.Затем используется JsonConvert.DeserializeObject.Конечно, вы должны сначала объявить класс.Например, если у вас есть Json, например:
{
"FirstName" : "John",
"SecondName" : "Black"
}
, вам нужно создать класс:
class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
}
и вызвать этот метод (GetObjectFromContent) с Person как T. Ваш класс должениметь беспараметрический конструктор.Вы также можете дать разные имена своим свойствам, но вам придется украшать их атрибутом JsonProperty