using Newtonsoft.Json.Linq;
using Newtonsoft.Json.Serialization;
public static void Main()
""Successful Request: 96 Results"",
""eventdate"": ""2019-10-18"",
""name"": ""Exciting event #1"",
""event_owner"": ""xxx"",
""event_image"": ""xxx"",
var resp = JsonConvert.DeserializeObject<ServiceResponce>(json);
Console.WriteLine(resp.ResultString);
foreach (Event evt in resp.Events)
Console.WriteLine(evt.Eventdate.ToString("yyyy-MM-dd") + " -- " + evt.Name);
class ServiceResponceConverter : JsonConverter
public override bool CanConvert(Type objectType)
return (objectType == typeof(ServiceResponce));
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
JArray ja = JArray.Load(reader);
ServiceResponce resp = new ServiceResponce();
resp.ResultString = (string)ja[0];
resp.Events = ja[1].ToObject<Event[]>(serializer);
public override bool CanWrite => false;
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
throw new NotImplementedException();
[JsonConverter(typeof(ServiceResponceConverter))]
public class ServiceResponce
public string ResultString { get; set; }
public Event[] Events { get; set; }
[JsonProperty("eventdate")]
public DateTimeOffset Eventdate { get; set; }
public string Name { get; set; }
public string Url { get; set; }
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; }
public string Venue { get; set; }
public string City { get; set; }
[JsonProperty("country")]
public string Country { get; set; }
public string State { get; set; }