public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var obj = new MyClass(); var jObj = JObject.Load(reader); var stringsProp = jObj["MyStrings"]; if (stringsProp != null) { var strings = stringsProp.ToObject <List <string> >(); foreach (var s in strings) { obj.AddString(s); } } return(obj); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { var obj = new MyClass(); var jObj = JObject.Load(reader); JsonConvert.PopulateObject(jObj.ToString(), obj); // populate fields we don't need any special handling for var stringsProp = jObj["MyStrings"]; if (stringsProp != null) { var strings = stringsProp.ToObject <List <string> >(); foreach (var s in strings) { obj.AddString(s); } } return(obj); }