J'ai une structure de données avec plusieurs types imbriqués.Comment puis-je me connecter correctement à JObject.ToObject de Json.NET <T>()?
public class MyDataType {
public int InferrableInt { get; set; }
public float InferrableFloat { get; set; }
public InferrableNestedDataType MyINDT { get; set; }
public CustomNestedDataType MyCNDT { get; set; }
public class InferrableNestedDataType {
public int X { get; set; }
public int Y { get; set; }
}
public class CustomNestedDataType {
// Data processed in a way that can't be expressed through JSON
public string CustomData { get; set; }
public int NestedInferrableInt { get; set; }
}
}
La plupart de ces types imbriqués peuvent être déduits du comportement par défaut. J'ai également un JObject
reçu d'une autre partie du code. Je voudrais pouvoir:
var mydt = jobjectInstance.ToObject<MyDataType>()
... et seulement exécuter un code personnalisé lors de la désérialisation MyDataType.CustomNestedDataType
. Chaque solution que j'ai trouvé a étendu JsonConverter
, mais autant que je peux dire cela ne fonctionne que lors de l'analyse à partir de JSON brut, et non un JObject
pré-analysé. Quelle est la bonne façon de le faire, sans écrire de code personnalisé pour les types de données inférescibles?
Aha, a du sens. Je vous remercie! –