public override object ReadJson(JsonReader reader, Type objectType, object existingValue, JsonSerializer serializer) { if (reader.TokenType == JsonToken.Null) { return(null); } KlinesResponse kr = new KlinesResponse(); reader.Read(); if (!(reader.TokenType == JsonToken.EndArray)) { kr.OpenTime = (long)reader.Value; reader.Read(); kr.Open = Decimal.Parse((string)reader.Value); reader.Read(); kr.High = Decimal.Parse((string)reader.Value); reader.Read(); kr.Low = Decimal.Parse((string)reader.Value); reader.Read(); kr.Close = Decimal.Parse((string)reader.Value); reader.Read(); kr.Volume = Decimal.Parse((string)reader.Value); reader.Read(); kr.CloseTime = (long)reader.Value; reader.Read(); kr.QuoteAssetVolume = Decimal.Parse((string)reader.Value); reader.Read(); kr.NumberOfTrades = (long)reader.Value; reader.Read(); } return(kr); }
public async Task <KlinesResponse> Klines(string symbol, string interval = "1m", int limit = 500) { var http = new HttpClient(); var url = $"{Host}/api/v1/klines?symbol={symbol.ToUpper()}&interval={interval}&limit={limit}"; using (var response = await http.GetAsync(url)) { var responseText = await response.Content.ReadAsStringAsync(); return(KlinesResponse.Parse(JsonConvert.DeserializeObject <List <List <object> > >(responseText))); } }