public static void Main()
Foobar myObj = new Foobar();
myObj.Something = new SomeOtherClass() { Bar = "My first", Foo = "fqwkifjwq" };
var settings = new JsonSerializerSettings
TypeNameHandling = TypeNameHandling.Auto,
Formatting = Formatting.Indented
string json = JsonConvert.SerializeObject(myObj, settings);
myObj = JsonConvert.DeserializeObject<Foobar>(json, settings);
Console.WriteLine(myObj.Something.GetType().Name);
Console.WriteLine(((SomeOtherClass)myObj.Something).Foo);
Console.WriteLine(((SomeOtherClass)myObj.Something).Bar);
[JsonProperty("something")]
public object Something { get { return something; } set { something = value; } }
private object something;
private string someOtherObject = "foobar";
public string Foo { get; set; }
public string Bar { get; set; }