【发布时间】:2019-01-22 01:03:19
【问题描述】:
我正在尝试将 JSON 反序列化为自制对象 A,其中包含 2 个字符串和另一个对象 B 的列表。对象 B 由另一个字符串和一个布尔值组成。
示例 JSON:
{
"ButtonList":[
{
"Fast":false,
"Name":"TableOverview"
},
{
"Fast":true,
"Name":"Evaluation"
}
],
"FavoritGraphic":"PDFreport",
"FavoritText":"Findings"
}
JSON 的语法经过双重检查且正确无误。没有 bool 的测试也可以正常工作。但是当我尝试使用 bool 反序列化对象时,List 为空(收藏夹字符串仍然具有正确的值)。我无法弄清楚我在这里做错了什么......
public class ButtonSettingsModel
{
public readonly string FavoritText;
public readonly string FavoritGraphic;
public readonly List<ButtonInfo> ButtonList;
public ButtonSettingsModel(string favoritText, string favoritGraphic, List<ButtonInfo> fastButtons)
{
FavoritText = favoritText;
FavoritGraphic = favoritGraphic;
ButtonList = fastButtons;
}
}
public class ButtonInfo
{
public readonly string Name;
public readonly bool Fast;
public ButtonInfo(string name, bool fast)
{
Name = name;
Fast = fast;
}
}
ButtonSettingsModel ButtonSettings = GetObjectFromJson<ButtonSettingsModel>(jsonString);
public T GetObjectFromJson<T>(string jsonString) // correct json
{
var foo = JsonConvert.DeserializeObject<T>(jsonString); // List == null
return foo;
}
【问题讨论】:
-
你能分享一下Json示例吗?
-
@AnuViswan 完成