由于您使用的是 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.