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);
        }
示例#2
0
        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)));
            }
        }