J'essaye de désérialiser un objet en utilisant Json.Net. J'ai un objet simple appelé MyObject qui contient un objet sérialisé dans MyObject.Body. Je stocke le type de classe dans MyObject.ClassType. Je ne veux pas écrire une déclaration de changement géante pour déterminer le type à désérialiser. Puis-je le faire dynamiquement?Json.Net Désérialise dynamiquement un objet?
string value = "fullClassName";
switch (value)
{
case "Cat":
var cat = JsonConvert.DeserializeObject<Cat>(myObject.Body);
break;
case "Dog":
var dog = JsonConvert.DeserializeObject<Dog>(myObject.Body);
break;
}
public class MyObject
{
public string Body { get; set; }
public string ClassType { get; set; }
}
var myAnimal = JsonConvert.DeserializeObject<1of10TypesOfObjects> (myObject.Body);
Vous pouvez utiliser la réflexion pour obtenir le type si vous pouvez vous assurer que "fullClassName" correspondra à votre nom de classe. –
Je ne suis pas familier avec la réflexion pourriez-vous être un peu plus précis? – Princess