I have this Json object:
{
"Sheet1": [
{
"one": 1,
"two": 18
},
{
"one": 16,
"two": 33
},
{
"one": 17,
"two": 34
}
]
}
我正在尝试使用以下模型反序列化它:
public class Sheets
{
[JsonProperty("Sheet1")]
public Sheet Sheet { get; set; }
}
public class Sheet
{
public List<Row> Rows { get; set; }
}
public class Row
{
[JsonProperty("one")]
public string Col1 { get; set; }
[JsonProperty("two")]
public string Col2 { get; set; }
}
var res = JsonConvert.DeserializeObject<Sheets>(result);
但我遇到了这个异常:
未处理的异常类型 'Newtonsoft.Json.JsonSerializationException' 发生在 Newtonsoft.Json.dll 中
详细信息:无法将当前 JSON 数组(例如 [1,2,3])反序列化为类型“ExcelConsoleApp.Sheet”,因为该类型需要一个 JSON 对象(例如 {"name":"value"})才能正确反序列化。
我做错了什么?有什么想法吗?
编辑
一种可能的解决方案是使用
dynamic dynamicObject = JsonConvert.DeserializeObject(result);
但我希望能够直接将其反序列化到我的模型中。
List<Row> Sheet
属性以使其更准确,例如改为List<Row> Rows
。 - Orel Eraki