private static StockKLineBaidu parseKLineDataBaiduAdvanced(String str) { JObject jo = (JObject)JsonConvert.DeserializeObject(str); if (jo != null) { StockKLineBaidu kLine = new StockKLineBaidu(); kLine.highestPrice = double.Parse(jo["kline"]["high"].ToString()); kLine.lowestPrice = double.Parse(jo["kline"]["low"].ToString()); kLine.openPrice = double.Parse(jo["kline"]["open"].ToString()); kLine.latestPrice = double.Parse(jo["kline"]["close"].ToString()); kLine.volume = long.Parse(jo["kline"]["volume"].ToString()); kLine.date = jo["date"].ToString(); kLine.ma5 = parseMABaidu(jo["ma5"].ToString()); kLine.ma10 = parseMABaidu(jo["ma10"].ToString()); kLine.ma20 = parseMABaidu(jo["ma20"].ToString()); kLine.macd = parseMACDBaidu(jo["macd"].ToString()); kLine.kdj = parseKDJBaidu(jo["kdj"].ToString()); kLine.rsi = parseRSIBaidu(jo["rsi"].ToString()); return(kLine); } return(null); }
public static List <StockKLineBaidu> parseKLineArrayBaiduAdvanced(String str) { JObject jo = (JObject)JsonConvert.DeserializeObject(str); bool ret = (jo["errorMsg"].ToString().Equals("SUCCESS")); if (ret) { List <StockKLineBaidu> kLines = new List <StockKLineBaidu>(); if (jo.Property("mashData") != null) { JArray arr = JArray.Parse(jo["mashData"].ToString()); for (int i = 0; i < arr.Count; i++) { StockKLineBaidu kl = parseKLineDataBaiduAdvanced(arr[i].ToString()); kLines.Add(kl); } } kLines.Reverse(); return(kLines); } return(null); }