gpt4 book ai didi

c# - 从 C# 中的货币转换器 API 获取汇率

转载 作者:行者123 更新时间:2023-11-30 22:57:53 24 4
gpt4 key购买 nike

这是我的 api 调用:

https://free.currencyconverterapi.com/api/v6/convert?q=EUR_USD&compact=y

我写了一个方法来接受汇率的进/出参数,我成功地取回了结果。我的问题是解析该结果以获得值(value)。这是我到目前为止所拥有的:

public async Task<string> GetExchangeRate(string from, string to)
{
//Examples:
//from = "EUR"
//to = "USD"
using (var client = new HttpClient())
{
try
{
client.BaseAddress = new Uri("https://free.currencyconverterapi.com");
var response = await client.GetAsync($"/api/v6/convert?q={from}_{to}&compact=y");
var stringResult = await response.Content.ReadAsStringAsync();
dynamic data = JObject.Parse(stringResult);
//data = {"EUR_USD":{"val":1.140661}}
//I want to return 1.140661
//EUR_USD is dynamic depending on what from/to is
return data.?????.val;
}
catch (HttpRequestException httpRequestException)
{
Console.WriteLine(httpRequestException.StackTrace);
return "Error calling API. Please do manual lookup.";
}
}
}

如果我的数据变量 = {"EUR_USD":{"val":1.140661}} 其中 "EUR_USD" 是动态的(它的变化取决于去往/来自什么是) 那么我如何返回 1.140661?

我使用的答案这是我根据@maccettura 评论使用的代码:

var stringResult = await response.Content.ReadAsStringAsync();
var dictResult = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, string>>>(stringResult);
return dictResult[$"{from}_{to}"]["val"];

最佳答案

谢谢@maccettura。

var stringResult = await response.Content.ReadAsStringAsync();
var dictResult = JsonConvert.DeserializeObject<Dictionary<string, Dictionary<string, string>>>(stringResult);
return dictResult[$"{from}_{to}"]["val"];

关于c# - 从 C# 中的货币转换器 API 获取汇率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53341259/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com