如何将包含 api 中的数据的字符串放入 HashMap 或 Dictionary 中?

How I can put a string contain data from an api into a HashMap or Dictionary?

我是 c# 的新手,我创建了一个库,其中包含从 API 到字符串

的货币汇率
using System.Net;
namespace RateLib
{
    public class CurrencyRate
    {
        public void getRate()
        {
            string url = "apikey";

            WebClient myClient = new WebClient();
            string txt = myClient.DownloadString(url);

        }
    }
}

现在,如何将这个 txt 字符串放入散列映射(如果它确实存在于 c# 中)或字典中?

我认为您想要的是将 json 反序列化为 class,其中包含您的费率的 IDictionary。为此,我们将使用 System.Text.JsonJsonSerializer.Deserialize.

像这样:

public class Latest
{
    public string Disclaimer { get; set; }
    public string License { get; set; }
    public int Timestamp { get; set; }
    public string Base { get; set; }
    public IDictionary<string, double> Rates { get; set; }
}

public static void Main()
{
    var url = "https://openexchangerates.org/api/latest.json?app_id=69cb235f2fe74f03baeec270066587cf";
    var myClient = new WebClient();
    var json = myClient.DownloadString(url);
    var options = new JsonSerializerOptions{PropertyNamingPolicy = JsonNamingPolicy.CamelCase};
    var latest = JsonSerializer.Deserialize<Latest>(json, options);
    Console.WriteLine(latest.Rates.First());
}

产出

[AED, 3.6732]

Try it Online!

最后,这个 apikey 似乎有效。既然它暴露在世人面前,您可能想改变它。