1

以下 URL 代表一长串数据:http ://api.bitcoincharts.com/v1/markets.json

我注意到在 url 的末尾它是一个 .json 扩展名,所以我已经对此进行了研究。

我已经下载了 JSON.NET 并在我的 c#.net 源代码中引用了它。

在这个长字符串中,我需要从“符号”中获取以下数据:“mtgoxUSD”并将其放在我的表单上;

1)“出价” 2)“高” 3)“要价” 4)“平均” 5)“低”

我真的很困惑如何正确提取这些数据,因为 URL 是一个巨大的字符串。

下面的代码片段是我目前所编写的代码,因为我不知道如何继续。

public void Grab()
    {
        using (var tradeClient = new System.Net.WebClient())
        {
            var json = tradeClient.DownloadString("http://api.bitcoincharts.com/v1/markets.json");
        }
    }

请指导我或参考我如何开始,因为我以前从未处理过 json 扩展名或文件!

谢谢!

4

2 回答 2

0

您可以使用JArray array = (JArray) JsonConvert.DeserializeObject(json);Newtonsoft.Json.Linq 库

于 2013-04-19T04:29:02.870 回答
0

尝试这个:

using (WebClient wc = new WebClient())
{
    var json = wc.DownloadString("http://coderwall.com/mdeiters.json");
    var arrJson = JsonConvert.DeserializeObject<string[][]>(json);
}

或者您可以创建一个对象/类并将此 json 转换为该对象。请参阅此链接以供参考。请参阅下面的示例代码和类:

using (WebClient wc = new WebClient())
{
    var json = wc.DownloadString("http://coderwall.com/mdeiters.json");
    var jsonMarket = JsonConvert.DeserializeObject<Market>(json);
}

public class Market
{
    [JsonProperty("high")]
    public string High{ get; set; }

    [JsonProperty("latest_trade")]
    public string LatestTrade { get; set; }

    [JsonProperty("bid")]
    public string Bid{ get; set; }

    [JsonProperty("volume")]
    public string Volume{ get; set; }

    [JsonProperty("currency")]
    public string Currency{ get; set; }

    [JsonProperty("currency_volume")]
    public string CurrencyVolume{ get; set; }

    [JsonProperty("ask")]
    public string Ask { get; set; }

    [JsonProperty("close")]
    public string Close { get; set; }

    [JsonProperty("avg")]
    public string AVG { get; set; }

    [JsonProperty("symbol")]
    public string Symbol { get; set; }

    [JsonProperty("low")]
    public string Low { get; set; }
}
于 2013-04-19T04:34:24.890 回答