将JSON反序列化回原始模型时出现问题
本文关键字:问题 模型 原始 JSON 反序列化 | 更新日期: 2023-09-27 18:25:19
为什么这个JSON不反序列化回它序列化的模型?它将反序列化为List of Bar,但不会反序列化为实现List of Bar的对象。
public class Bars : List<Bar>
{
}
public class Bar
{
public decimal Open { get; set; }
public decimal High { get; set; }
public decimal Low { get; set; }
public decimal Close { get; set; }
}
private void test()
{
Bars bars = new Bars()
{
new Bar(){Open = 1.5269M, High = 1.6001M, Low = 1.4012M, Close = 1.5277M},
new Bar(){Open = 1.5277M, High = 1.6003M, Low = 1.5276M, Close = 1.7008M},
new Bar(){Open = 1.7008M, High = 1.9003M, Low = 1.4276M, Close = 1.60098M}
};
JavaScriptSerializer jss = new JavaScriptSerializer();
string json = jss.Serialize(bars);
//works
var dsBars1 = jss.Deserialize<List<Bar>>(json);
//fails
var dsBars2 = jss.Deserialize<Bars>(json);
}
您可以使用Json。网以下代码有效。。。
var json = JsonConvert.SerializeObject(bars);
var dsBars1 = JsonConvert.DeserializeObject<List<Bar>>(json);
var dsBars2 = JsonConvert.DeserializeObject<Bars>(json);