using Newtonsoft.Json.Linq;
public static void Main()
Container cont = JsonConvert.DeserializeObject<Container>(json, new StatisticConverter());
foreach (Statistic stat in cont.Statistics)
Console.WriteLine(stat.Name + ": " + stat.Min + " - " + stat.Max);
public Statistic[] Statistics { get; set; }
public string Name { get; set; }
public int Min { get; set; }
public int Max { get; set; }
class StatisticConverter : JsonConverter
public override bool CanConvert(Type objectType)
return objectType == typeof(Statistic);
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer)
JObject jo = JObject.Load(reader);
JProperty prop = jo.Properties().First();
Statistic stat = new Statistic
Min = (int)prop.Value["min"],
Max = (int)prop.Value["max"]
public override bool CanWrite
public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer)
throw new NotImplementedException();