public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var obj = JObject.Load(reader); var ret = new GeoPoint(); ret.Latitude = obj.Value<decimal>("latitude"); ret.Longitude = obj.Value<decimal>("longitude"); return ret; }