写入类以反序列化JSON文件时出现问题。将JSON反序列化到包含字典的类时获取空字段
我的课是这样的:
public class Button1
{
public string Caption = "";
public Dictionary<string, Button1> Buttons;
}
public class ButtonsMenu
{
public Dictionary<string, Button1> Buttons;
}
,我尝试反序列化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"
}
}
}
}
与使用Json.Net的是这样的:
var buttonDef = JsonConvert.DeserializeObject<ESB.Shared.DTO.ButtonsMenu>(formDefJson);
我的问题是当我试图反序列化我的JSON时,我有三个项目Activity
,Navigate
和Print
,但字段Captions
到处都是空的。 你能告诉我我在课堂上缺少什么吗?
为什么你默认将它设置为空字符串? 'public string Caption =“”' – Niladri
如果它没有值为空字符串而不为空 –
这里有两个级别,Activity是另一个字典,试着将ButtonsMenu中的按钮放到这里:'public Dictionary>按钮;'。 –