J'ai un problème lors de l'écriture des classes pour désérialiser un fichier JSON.Obtention de champs vides lors de la désérialisation de JSON dans mes classes contenant des dictionnaires
Mes cours se présentent comme suit:
public class Button1
{
public string Caption = "";
public Dictionary<string, Button1> Buttons;
}
public class ButtonsMenu
{
public Dictionary<string, Button1> Buttons;
}
et je suis en train de désérialiser cette JSON:
{
"Buttons": {
"Activity": {
"btn1": {
"Caption": "Promeni sostojba"
},
"btn2": {
"Caption": "Izvrsi nesto drugo"
}
},
"Navigate": {
"btnA": {
"Caption": "Pojdi na druga forma"
},
"btnB": {
"Caption": "Otvori nesto razlicno"
}
},
"Print": {
"btnX1": {
"Caption": "Pecati nalog"
},
"btnX2": {
"Caption": "Pecati report"
}
}
}
}
avec l'utilisation de Json.Net comme ceci:
var buttonDef = JsonConvert.DeserializeObject<ESB.Shared.DTO.ButtonsMenu>(formDefJson);
Mon problème est quand j'essaye de désérialiser mon JSON, j'ai les trois articles Activity
, Navigate
et Print
mais le champ Captions
est vide partout. Pouvez-vous me dire s'il vous plaît ce que je manque dans mes cours?
Pourquoi le configurez-vous comme chaîne vide par défaut? 'public string Caption =" "' – Niladri
S'il n'a pas la valeur d'être une chaîne vide et non nulle –
Vous avez deux niveaux ici, Activity est un autre dictionnaire, essayez de faire les boutons dans ButtonsMenu dans ceci: public Dictionary> Boutons; '. –