我正在尝试从excel填充类对象。我在反序列化的json中收到了值,但我不想获取列表 因为在处理程序类中有一个类型为policy的函数,我该如何将PolicyNew映射到没有List的类对象。
var json = JsonConvert.SerializeObject(query);
var policynew = JsonConvert.DeserializeObject<List<PolicyNew>>(json);
Policy policy = Handler.GeneratePolicy(policynew);
//Handler.cs
Handler.GeneratePolicy(PolicyNew policynew)
{
}
答案 0 :(得分:0)
如果您的jsonstring包含数组,则必须反序列化为某种列表/数组。如果知道,您只需要该列表中的单个元素(或者您知道该列表仅包含一个元素),就可以使用结果列表中的第一个元素。
var policynew = JsonConvert.DeserializeObject<List<PolicyNew>>(json).FirstOrDefault();
如果您可以控制json字符串的生成,则可以更改序列化,而不是创建数组[{"p1": 3, ...}]
而是创建单个对象{"p1": 3, ...}