我正在尝试反序列化这个字符串:
[[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属性。