将json数组反序列化为对象失败



我正在尝试反序列化这个字符串:

[[1627948800000,"33361.77000000","33881.50000000","32832.75000000","32953.11000000","513.87963000",1627963199999,"17079364.00614616",18285年,"267.93047400","8902854.13595806","0"],[1627963200000,"32958.11000000","33082.10000000","32350.00000000","32887.55000000","473.31029500",1627977599999,"15473902.88026993",19157年"218.09445000";,"7129688.95708971","0"],[1627977600000,"32889.44000000","33045.20000000","32650.48000000","32745.58000000","297.93607700",1627991999999,"9785835.12349423",14516年,"151.51781200","4976292.20423003","0"]]>

p>Into this object:
[JsonArray]
public class CandlestickData
{
[JsonProperty(Order = 1)]
public long OpenTime { get; set; }
[JsonProperty(Order = 2)]
public decimal Open { get; set; }
[JsonProperty(Order = 3)]
public decimal High { get; set; }
[JsonProperty(Order = 4)]
public decimal Low { get; set; }
[JsonProperty(Order = 5)]
public decimal Close { get; set; }
[JsonProperty(Order = 6)]
public decimal Volume { get; set; }
[JsonProperty(Order = 7)]
public long CloseTime { get; set; }
[JsonProperty(Order = 8)]
public decimal QuoteAssetVolume { get; set; }
[JsonProperty(Order = 9)]
public long NumberOfTrades { get; set; }
[JsonProperty(Order = 10)]
public decimal TakerBuyBaseAssetVolume { get; set; }
[JsonProperty(Order = 11)]
public decimal TakerBuyQuoteAssetVolume { get; set; }
[JsonProperty(Order = 12)]
public decimal Ignore { get; set; }
}

我已经尝试使用JsonConvert.DeserializeObject<CandlestickData[]>(content);,其中content是上面提到的字符串。

但是,我得到以下错误:

无法创建和填充列表类型CandlestickData。

我试图将小数更改为字符串,但这给了我相同的错误。反序列化这个字符串的正确方法是什么?我无法控制所创建的json。

您的json文本和代码不匹配。json文本中有一个项目列表,代码中有一个类。我建议您创建一个CandleStickData列表(比如其中的3个),然后序列化它并检查json文本输出。然后,您需要更改json文本以匹配该格式。当你这样做的时候,也要去掉那些json属性。

最新更新