1

次の URL は、データの長い文字列を表します: http://api.bitcoincharts.com/v1/markets.json

URL の末尾に .json 拡張子があることに気付いたので、それについては既に調査しました。

JSON.NET をダウンロードし、c#.net ソースで参照しました。

この長い文字列内で、「symbol」から次のデータを取得する必要があります: 「mtgoxUSD」をフォームに配置します。

1) 「ビッド」 2) 「高」 3) 「アスク」 4) 「平均」 5) 「低」

URL は 1 つの巨大な文字列であるため、このデータを適切に抽出する方法について本当に混乱しています。

以下のスニペットは、続行する方法に困惑している限り、私がコード化したものです。

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 に答える