我应该如何在JSON下反序列化?
{
"lastUpdateId": 131537317,
"bids": [
["0.08400000", "0.54300000", []],
["0.08399800", "0.70800000", []],
["0.08399400", "1.22700000", []],
["0.08399300", "0.61700000", []],
["0.08399100", "0.35400000", []]
],
"asks": [
["0.08408300", "0.09100000", []],
["0.08408400", "5.55300000", []],
["0.08408600", "0.71800000", []],
["0.08408900", "0.14500000", []],
["0.08409000", "0.15100000", []]
]
}
我使用下面的类 . Ask
和 Bid
是一样的 .
Order deserializedProduct = JsonConvert.DeserializeObject<Order>(timeServer);
public class Order
{
public int lastUpdateId { get; set; }
public List<Bid> bids { get; set; }
public List<Ask> asks { get; set; }
}
public class Bid
{
public List<string> Items { get; set; }
}
我有错误:
无法将当前JSON数组(例如[1,2,3])反序列化为类型“WebApplication2.Models.Bid”,因为该类型需要JSON对象(例如{“name”:“value”})才能正确反序列化 . 要修复此错误,请将JSON更改为JSON对象(例如{“name”:“value”})或将反序列化类型更改为数组或实现集合接口的类型(例如ICollection,IList),例如List从JSON数组反序列化 . JsonArrayAttribute也可以添加到类型中以强制它从JSON数组反序列化 . 路径'出价[0]',第1行,第35位 .
1 回答
更好的代表你的JSON的类是:
正如@maccettura在他的评论中提到
Bids
和Asks
是IEnumerable<IEnumerable<string>>