Я пытаюсь использовать внешний веб-сервис и использую .NET Core и инфраструктуру Flurl. Я получаю ответ от службы, как показано ниже:
[
"Successful Request: 96 Results",
[
{
"eventdate":"2019-10-18",
"name":"",
"url":"",
"info":"",
"showtime":null,
"url_tix":"",
"event_owner":"xxx",
"follow_url":"xxx",
"event_image":"xxx",
"venue":"xxx",
"city":"xxx",
"country":"xxx",
"state":""
}
]
]
, и у меня есть определение сущности C #, как показано ниже:
public class ServiceResponce
{
public Event[] Events { get; set; }
}
public class Event
{
[JsonProperty("eventdate")]
public DateTimeOffset Eventdate { get; set; }
[JsonProperty("name")]
public string Name { get; set; }
[JsonProperty("url")]
public string Url { get; set; }
[JsonProperty("info")]
public string Info { get; set; }
[JsonProperty("showtime")]
public object Showtime { get; set; }
[JsonProperty("url_tix")]
public object UrlTix { get; set; }
[JsonProperty("event_owner")]
public string EventOwner { get; set; }
[JsonProperty("follow_url")]
public Uri FollowUrl { get; set; }
[JsonProperty("event_image")]
public object EventImage { get; set; }
[JsonProperty("venue")]
public string Venue { get; set; }
[JsonProperty("city")]
public string City { get; set; }
[JsonProperty("country")]
public string Country { get; set; }
[JsonProperty("state")]
public string State { get; set; }
}
Когда я пытался вызвать метод Flurl для использования Интернетасервис, как показано ниже:
var result = await serviceUrl.GetJsonAsync<ServiceResponce>();
Я получил ошибку, упомянутую ниже:
Невозможно десериализовать текущий массив JSON (например, [1,2,3]) в тип 'xxx. ServiceResponce ', потому что для корректной десериализации тип требует JSON-объект (например, {"name": "value"}). Чтобы исправить эту ошибку, измените JSON на объект JSON (например, {"name": "value"}) или измените десериализованный тип на массив или тип, который реализует интерфейс коллекции (например, ICollection, IList), например List, который можетбыть десериализованным из массива JSON. JsonArrayAttribute также может быть добавлен к типу, чтобы принудительно десериализовать его из массива JSON. Путь '', строка 1, позиция 1.
У вас есть какое-то решение для этого? Любая помощь всегда приветствуется.