我有下一个Json文档,我试图反序列化:
{
"General": {
"Items": [
{
"fId": "divisionID",
"frmt": "Text"
},
{
"fId": "wcctOwnerID",
"frmt": "Text"
},
{
"fId": "qreID",
"frmt": "Text"
}
]
}
}
我有这个课程:
public class Item
{
[JsonProperty(PropertyName = "fId")]
public string fId { get; set; }
[JsonProperty(PropertyName = "frmt")]
public string frmt { get; set; }
}
public class General
{
[JsonProperty(PropertyName = "Items")]
public List<Item> Items { get; set; }
}
我试图用这一行反序列化:
using (StreamReader r = new StreamReader(HostingEnvironment.ApplicationPhysicalPath + @"\Utils\OptionsByDB.json"))
{
var json = r.ReadToEnd();
Utils.General items = JsonConvert.DeserializeObject<Utils.General>(json);
}
但它返回null。我做错了什么?
答案 0 :(得分:2)
您的问题是您的JSON不是General
对象。
中有<{1}}个对象
的对象是您需要这样的类声明:
General
然后使用:
public class JsonObject{
[JsonProperty(PropertyName = "General")]
public General rootObject {get; set;}
}