public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var o = serializer.Deserialize<JArray>(reader); var polygonConverter = new PolygonJsonConverter(); var polygons = o.Select( polygon => polygonConverter.ReadJson(polygon.CreateReader(), typeof(Polygon), polygon, serializer)).Cast<Polygon>().ToList(); return new MultiPolygon(polygons); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var o = serializer.Deserialize <JArray>(reader); var polygonConverter = new PolygonJsonConverter(); var polygons = o.Select( polygon => polygonConverter.ReadJson(polygon.CreateReader(), typeof(Polygon), polygon, serializer)).Cast <Polygon>().ToList(); return(new MultiPolygon(polygons)); }