Я хочу получить некоторые футбольные данные из внешнего интерфейса API. Ответ на запросы возвращает мне таблицу «команды», как показано ниже:
"teams": [
{
"team_id": 2,
"name": "France",
"code": null,
"logo": null,
"country": "France",
"is_national": true,
"founded": 1919,
"venue_name": "Stade de France",
"venue_surface": "grass",
"venue_address": "Rue Jules Rimet, Saint-Denis",
"venue_city": "Paris",
"venue_capacity": 81338
},
.....
Команда содержит 5 полей места проведения, и я хотел бы сгруппировать их в другой класс, объединенный командой. Вот код:
public class TeamEntity
{
[Key]
public int TeamId { get; set; }
[Required]
[MaxLength(100)]
public string Name { get; set; }
[MaxLength(10)]
[Column(TypeName = "varchar(10)")]
public string Code { get; set; }
[Required]
[MaxLength(300)]
public string Logo { get; set; }
[Required]
[MaxLength(100)]
public string Country { get; set; }
public string IsNational { get; set; }
[Required]
public int Founded { get; set; }
[Required]
public VenueEntity Venue { get; set; }
[ForeignKey("Venue")]
public int VenueId { get; set; }
public LeagueEntity League { get; set; }
[ForeignKey("League")]
public int LeagueId { get; set; }
}
public class VenueEntity
{
[Key]
public int VenueId { get; set; }
[Required]
[MaxLength(200)]
public string VenueName { get; set; }
[Required]
[MaxLength(100)]
public string VenueSurface { get; set; }
[Required]
[MaxLength(200)]
public string VenueAddress { get; set; }
[Required]
[MaxLength(100)]
public string VenueCity { get; set; }
[Required]
public int VenueCapacity { get; set; }
[Required]
public TeamEntity Team { get; set; }
[ForeignKey("Team")]
public int TeamId { get; set; }
}
Когда я пытаюсь десериализовать его, я получаю ошибку. Я проверил с помощью отладчика, что поле Venue в классе TeamEntity является нулевым после десериализации. Есть ли способ правильно десериализовать объект с помощью Newtonsoft. Json .JsonConverter? Спасибо за любую помощь.