由於您使用的是JSON數據,而不是嘗試使用字符串匹配來查找要查找的值(例如,.Substring()
),因此將您從服務器獲取的數據解析爲目的。當/如果您需要處理更復雜的數據時,字符串匹配會很快崩潰。
這裏是你會怎麼做:
第1步:參照JSON.Net庫在項目中。 (右鍵單擊Visual Studio中的項目,然後單擊「管理NuGet包」。搜索「json.net」,然後將其安裝到您的項目中。
第2步:製作一個代表JSON數據結構的類你會從服務器獲得(如果這是JSON中非常複雜和龐大的數據結構,那麼爲它創建一個類將是不實際的,並且有辦法解決這個問題,但是現在你應該得到基礎知識。下)對於JSON,一類是這樣的:
public class Prices
{
public decimal high { get; set; }
public decimal last { get; set; }
public double timestamp { get; set; }
public decimal bid { get; set; }
public decimal volume { get; set; }
public decimal low { get; set; }
public decimal ask { get; set; }
}
第3步:現在你有一個類,你可以很容易的JSON數據轉換成一種格式,很容易一起工作:
var client = new WebClient
{
Encoding = Encoding.UTF8 //It's good practice to specify UTF-8 encoding, because if you don't, then you can get garbled text back from the server
};
var rawData = client.DownloadString("https://www.bitstamp.net/api/ticker/");
var btcInfo = JsonConvert.DeserializeObject<Prices>(rawData);
//Now, btcInfo.last.ToString() will contain the value you're looking for.
儘管這並不直接回答我的問題,但非常感謝您提供這些信息。 – ech0