J'ai un BaseClass
tas de classes dérivées.
J'ai aussi List<BaseClass>
qui contient des objets de ces classes dérivées.
Lorsque je le fais, JSONUtility.ToJson(List<BaseClass>)
je n'obtiens que les propriétés des BaseClass
classes dérivées et non celles-ci.
Et bien... Je suppose que c'est logique, mais ne puis-je pas le forcer à utiliser une classe dérivée s'il y en a une ou si elle JSONUtility
n'en est pas capable? J'ai donc besoin d'écrire une logique personnalisée pour cela?
Merci!
Solution du problème
Obtient très probablement JSONUtility.ToJson(List<BaseClass>)
les éléments dont vous avez besoin avec réflexion, de sorte que l'objet renvoyé est basé sur le type entrant. J'essaierais d'obtenir les jsons un par un et de les combiner dans la logique, en pré-castant chacun des types. Non testé ni débogué, juste une idée de point de départ pour passer à autre chose :
string jsons;
foreach (var baseClass in baseClassList) {
Type specificType = baseClass.GetType();
string jsonString = JsonUtility.ToJson((specificType)baseClass)
jsons = "[" + string.Join(",", jsonstring) + "]";
}
Aucun commentaire:
Enregistrer un commentaire