I've started learning C# and I've been going crazy because of this:
So I've read this of an online API to a string (ORIGINAL URL: https://api.coincap.io/v2/assets)
{"data":
[{"id":"bitcoin","rank":"1","symbol":"BTC","name":"Bitcoin","supply":"19231150.0000000000000000","maxSupply":"21000000.0000000000000000","marketCapUsd":"329260408122.7321099930951000","volumeUsd24Hr":"4938807092.4540332151393315","priceUsd":"17121.2022225780626740","changePercent24Hr":"-0.1557069639360563","vwap24Hr":"17167.6185642050963449","explorer":"https://blockchain.info/"},
{"id":"ethereum","rank":"2","symbol":"ETH","name":"Ethereum","supply":"122373866.2178000000000000","maxSupply":null,"marketCapUsd":"154858258278.7620692762684030","volumeUsd24Hr":"1556598691.7310630183480862","priceUsd":"1265.4520369826888988","changePercent24Hr":"-0.3774876415990869","vwap24Hr":"1271.6091894467065872","explorer":"https://etherscan.io/"},
{"id":"tether","rank":"3","symbol":"USDT","name":"Tether","supply":"65708194111.5796100000000000","maxSupply":null,"marketCapUsd":"65788824004.4908415146900527","volumeUsd24Hr":"6971097526.7488883793650250","priceUsd":"1.0012270903804526","changePercent24Hr":"0.0236756537376818","vwap24Hr":"1.0002996279301237","explorer":"https://www.omniexplorer.info/asset/31"}],
"timestamp":1670800790134}
And basically what I've been trying to do is to put the id's into a list but Haven't manage to parse the data. My code:
public class Coins
{
public Dictionary<string, ListDictionary> data { get; set; }
}
public class Program
{
static void Main(string[] args)
{
List<string> coin_list = new List<string>();
HttpClient Client = new HttpClient();
string URL = "https://api.coincap.io/v2/";
string response = Client.GetStringAsync(URL + "assets").Result;
Coins list = JsonConvert.DeserializeObject<Coins>(response);
foreach(item in list.data)
{
coin_list.add(item.id);
}
Console.ReadLine();
}
}
Can someone explain what am I doing wrong here?
Have spent the past couple of hours trying to figure this out
if you need only ids, all your code you can put in one line
if you need more data you add properties you need to Coins class and show them to us, for example
or if you want to use your code, fix the class Coins, you need a list for your json, not a dictionary