在我的ASP.Net Core 3.1应用程序中,我有以下json字符串:
string body = "{"idsModel":{"IdsToDraft":[792,793,794]}}";
这是我的POCO,我正试图将该字符串反序列化为:
public class IdsModel
{
public List<long> IdsToDraft { get; set; }
}
这是我的反序列化代码:
idsModel = Newtonsoft.Json.JsonConvert.DeserializeObject<IdsModel>(body);
最后,创建了idsModel
对象,但该对象的IDsToDraft
属性为null。
我已经尝试了Newtonsoft和.Net Core System.Text.Json序列化程序。
我在源字符串中尝试了不同的套管组合。
为什么?为什么不反序列化List属性?!?
您缺少根对象,即包含idsModel
:的对象
public class RootClass
{
public IdsModel IdsModel { get; set; }
}
public class IdsModel
{
public List<long> IdsToDraft { get; set; }
}
// ...
var idsModel = Newtonsoft.Json.JsonConvert.DeserializeObject<RootClass>(body);
模型应该看起来像
public class IdsModel
{
public List<long> IdsToDraft { get; set; }
}
public class RootObject
{
public IdsModel idsModel { get; set; }
}