C#. Как правильно десериализовать JSON?
Захотел сделать приложение прогноза погоды, но не могу десериализовать json. То есть запрос я сделать могу, но когда пытаюсь десериализовать ответ, например, как в следующем коде получить температуру, у меня выводит 0.
public class Current
{
public decimal temp_c { get; set; }
public decimal temp_f { get; set; }
}
void Test(string url)
{
var client = new RestClient();
var request = new RestRequest(url);
var response = client.Get(request);
var currentResp = JsonSerializer.Deserialize<Current>(response.Content);
}
Пример.
{
"location": {
"name": "London",
"region": "City of London, Greater London",
"country": "United Kingdom",
"lat": 51.52,
"lon": -0.11,
"tz_id": "Europe/London",
"localtime_epoch": 1677262192,
"localtime": "2023-02-24 18:09"
},
"current": {
"last_updated_epoch": 1677261600,
"last_updated": "2023-02-24 18:00",
"temp_c": 8.0,
"temp_f": 46.4,
"is_day": 0,
"condition": {
"text": "Partly cloudy",
"icon": "//cdn.weatherapi.com/weather/64x64/night/116.png",
"code": 1003
}
}
Источник: Stack Overflow на русском