Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#can';t读取和解释web API/JSON_C#_Json_Api_Json.net - Fatal编程技术网

C#can';t读取和解释web API/JSON

C#can';t读取和解释web API/JSON,c#,json,api,json.net,C#,Json,Api,Json.net,我在这里的第一个问题,可能是因为我在这里找到了大量以前的问题和答案:)我只是一个爱好程序员,我只知道基本知识,但我只是喜欢编程:D 我已经为下面的问题绞尽脑汁两天了,不知道你们能不能帮我 我正在为我的比特币/altcoin矿商(特别是NVIDIA矿商的Cminer)编程一个GUI监视器,我希望矿商能够跳到最赚钱的硬币上,如果我为它设置了配置。 获取这些数字的最简单方法是通过众多的web API,如和。所以你可以看到,有很多API(本来可以链接更多,但现在还不允许),但它们似乎都不起作用 这是我目

我在这里的第一个问题,可能是因为我在这里找到了大量以前的问题和答案:)我只是一个爱好程序员,我只知道基本知识,但我只是喜欢编程:D 我已经为下面的问题绞尽脑汁两天了,不知道你们能不能帮我

我正在为我的比特币/altcoin矿商(特别是NVIDIA矿商的Cminer)编程一个GUI监视器,我希望矿商能够跳到最赚钱的硬币上,如果我为它设置了配置。 获取这些数字的最简单方法是通过众多的web API,如和。所以你可以看到,有很多API(本来可以链接更多,但现在还不允许),但它们似乎都不起作用

这是我目前掌握的代码:

class Api
{
    public static List<Coins> _download_serialized_json_data(string address)
    {
        List<Coins> coinList = new List<Coins>();
        using (WebClient web = new WebClient())
        {
            string jsonData = web.DownloadString(address);
            JObject json = JObject.Parse(jsonData);


            for (int i = 1; i <= 10; i++)
            {
                Coins c = new Coins();
                c.tag = json["coins"][i]["tag"];

                coinList.Add(c);
            }
        }

        return coinList;
    }
}

public class Coins
{
    public string tag { get; set; }
}
它出错了。我也不知道在哪里可以找到确切的错误,但即使在我尝试JArray时,解析它也不起作用。我是不是在某个地方犯了严重的错误

非常感谢

试试看

 c.tag = json["coins"][i]["tag"].ToString();

你想做这样的事吗

Webclient wc = new Webclient();
var json = wc.DownloadString("http://www.whattomine.com/coins.json"); //your 2nd link
var coins = JsonConvert.DeserializeObject<Coins>(json);
Webclient wc=新的Webclient();
var json=wc.DownloadString(“http://www.whattomine.com/coins.json"); //你的第二链接
var=JsonConvert.DeserializeObject(json);

公共等级硬币
{
公共字典=空;
}
公共级硬币
{
公共字符串标记{get;set;}
公共字符串算法{get;set;}
公共双块_奖励{get;set;}
公共整数块_时间{get;set;}
公共int最后一个_块{get;set;}
公共双难度{get;set;}
公共双困难24{get;set;}
公共双nethash{get;set;}
公共双汇率{get;set;}
公共字符串市场{get;set;}
公共双卷{get;set;}
公共整数{get;set;}
公共整数可配置性24{get;set;}
}

是!这就是我一开始想要的。但是当我尝试设置类时,我不知道字典在这里的用法,所以我最终为每个不同的硬币创建了一个类,但这不是动态的,所以我尝试了。这实际上帮了我很多忙!Thx:DNo,那没用;)但是L.B.的答案帮我解决了!谢谢你的尝试:D
Webclient wc = new Webclient();
var json = wc.DownloadString("http://www.whattomine.com/coins.json"); //your 2nd link
var coins = JsonConvert.DeserializeObject<Coins>(json);
public class Coins
{
    public Dictionary<string, Coin> coins = null;
}
public class Coin
{
    public string tag { get; set; }
    public string algorithm { get; set; }
    public double block_reward { get; set; }
    public int block_time { get; set; }
    public int last_block { get; set; }
    public double difficulty { get; set; }
    public double difficulty24 { get; set; }
    public double nethash { get; set; }
    public double exchange_rate { get; set; }
    public string market_cap { get; set; }
    public double volume { get; set; }
    public int profitability { get; set; }
    public int profitability24 { get; set; }
}