Thanks for everyone, I have found it:
StringValueObject result = JsonConvert.DeserializeObject<StringValueObject>("\"myString\"");
Now working:
[TypeConverter(typeof(StringValueConverter))]
public class StringValueObject {
public string Value { get; set; }
}
public class StringValueConverter : TypeConverter {
public override bool CanConvertFrom(ITypeDescriptorContext context, Type sourceType) {
if (sourceType == typeof(string)) {
return true;
}
return base.CanConvertFrom(context, sourceType);
}
public override bool CanConvertTo(ITypeDescriptorContext context, Type destinationType) {
if (destinationType == typeof(StringValueObject)) {
return true;
}
return base.CanConvertTo(context, destinationType);
}
public override object ConvertFrom(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value) {
if (value is string) {
return new StringValueObject {Value = (string) value};
}
return base.ConvertFrom(context, culture, value);
}
public override object ConvertTo(ITypeDescriptorContext context, System.Globalization.CultureInfo culture, object value, Type destinationType) {
if (destinationType == typeof(string) && value is StringValueObject) {
return ((StringValueObject) value).Value;
}
return base.ConvertTo(context, culture, value, destinationType);
}
}