Во-первых, вот пример ответа JSON (извините по поводу форматирования, форматировалось в редакторе поста):
[
{
"id": "b600186d2dc2ace2fa5ac10c04e17059",
"sport_key": "basketball_nba",
"sport_title": "NBA",
"commence_time": "2024-11-23T00:10:00Z",
"home_team": "Вашингтон Wizards",
"away_team": "Бостон Селтикс",
"букмекеры": [
{
"key": "draftkings",
"title": "DraftKings",
"last_update": "2024-11-22T08:49:50Z",
"markets": [
{
"key": "h2h",
"last_update": "2024-11-22T08:49:50Z",
"outcomes": [
{
"name ": "Бостон Селтикс",
"цена": -1200
},
{
"name": "Вашингтон Волшебники",
"цена": 750
}
]
}
]
}
]
},
]
Мне нужно записать как минимум следующие поля:
- home_team
- выездная_команда
- время_начала
- букмекерские конторы/ключевые
- рынки/результаты/< strong>название
- рынки/результаты/цена
Код: Выделить всё
public class Rootobject
{
public OddsData[] Property1 { get; set; }
}
public class OddsData
{
public string id { get; set; }
public string sport_key { get; set; }
public string sport_title { get; set; }
public DateTime commence_time { get; set; }
public string home_team { get; set; }
public string away_team { get; set; }
public Bookmaker[] bookmakers { get; set; }
}
public class Bookmaker
{
public string key { get; set; }
public string title { get; set; }
public DateTime last_update { get; set; }
public Market[] markets { get; set; }
}
public class Market
{
public string key { get; set; }
public DateTime last_update { get; set; }
public Outcome[] outcomes { get; set; }
}
public class Outcome
{
public string name { get; set; }
public int price { get; set; }
}
Код: Выделить всё
sportsKey = "basketball_nba"; // NBA
string url = "https://api.the-odds-api.com/v4/sports/" + sportsKey + @"/odds?regions=us&oddsFormat=american&apiKey={...}";
var client = new RestClient(url);
client.Timeout = -1;
var request = new RestRequest(Method.GET);
var response = client.Execute(request);
var oddsApiResponse = response.Content;
// Deserialize Json resonse
OddsData od = System.Text.Json.JsonSerializer.Deserialize(oddsApiResponse);
System.Text.Json.JsonException: 'Значение JSON не удалось преобразовать в OddsAPIRettriever .Программа+Данные о шансах. Путь: $ | НомерЛинии: 0 | BytePositionInLine: 1.'
Есть идеи, что я делаю неправильно при десериализации?
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/792 ... c-api-json