хорошо, я пытаюсь сериализовать объект и десериализовать его обратно, я использую эти классы для обработки получения различных типов
public class JsonWrapper
{
public string ObjType { get; set; }
public object Obj { get; set; }
}
public class JsonWrapper<T>
{
public string ObjType => typeof(T).FullName;
public T Obj { get; set; }
}
это работает так
var wrapper = new JsonWrapper<Car> {Obj = new Car {model = 2012, Color = "red"}};
var serialized = JsonConvert.SerializeObject(wrapper);
var deserialized = JsonConvert.DeserializeObject<JsonWrapper>(serialized);
var type = Type.GetType(deserialized.ObjType);
var message = JsonConvert.DeserializeObject(
Convert.ToString(deserialized.Obj), type);
my Проблема в том, что, если я хочу использовать оболочку для строкового типа, если я попробовал таким же образом со строкой
var wrapper = new JsonWrapper<string> {Obj = "hello"};
var serialized = JsonConvert.SerializeObject(wrapper);
var deserialized = JsonConvert.DeserializeObject<JsonWrapper>(serialized);
var type = Type.GetType(deserialized.ObjType);
var message = JsonConvert.DeserializeObject(
Convert.ToString(deserialized.Obj), type);
, это не сработает и вы получите ошибку Unexpected character encountered while parsing value: h. Path '', line 1, position 1
, работая с int, поэтому я интересно