public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var o = serializer.Deserialize<JArray>(reader); var lineStringConverter = new LineStringJsonConverter(); var lineStrings = o.Select( lineString => lineStringConverter.ReadJson(lineString.CreateReader(), typeof(LineString), lineString, serializer)).Cast<LineString>().ToList(); return new Polygon(lineStrings); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var o = serializer.Deserialize <JArray>(reader); var lineStringConverter = new LineStringJsonConverter(); var lineStrings = o.Select( lineString => lineStringConverter.ReadJson(lineString.CreateReader(), typeof(LineString), lineString, serializer)).Cast <LineString>().ToList(); return(new Polygon(lineStrings)); }