public override void WriteJson(JsonWriter writer, object value, JsonSerializer serializer) { VehicleDataWrapper wrapper = (VehicleDataWrapper)value; FieldInfo field = typeof(VehicleDataWrapper).GetField("values", BindingFlags.NonPublic | BindingFlags.Instance); JObject jo = JObject.FromObject(field.GetValue(wrapper)); jo.WriteTo(writer); }
public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { JObject jo = JObject.Load(reader); VehicleDataWrapper wrapper = new VehicleDataWrapper(); FieldInfo field = typeof(VehicleDataWrapper).GetField("values", BindingFlags.NonPublic | BindingFlags.Instance); field.SetValue(wrapper, jo.ToObject(field.FieldType)); return(wrapper); }