读取Coinbase API时,无法在newtonsoft.Json.LinqJvalue上获得子值?

您好,我正在尝试从URL获取coinbase API汇率,但是json.net似乎无法格式化JSON文件以读取子级

读取Coinbase API时,无法在newtonsoft.Json.LinqJvalue上获得子值?

这是引发错误的方法

public string CalculateCoinValue(Coinbase connector)
{
    //bool valid = connector.rates.isValid;

    string cryptoExchangeRate;

    if (connector.rates != null)
    {
        cryptoExchangeRate = (string)connector.rates["data"]["currency"]["rates"][Settings.defualtCrypto.ToUpper()];

    }

    return "";
}

这是im用于获取JSON数据的方法,该数据将其存储在Coinbase类中的JObject中

public async Task<JObject> GetExchangeRatesAsync()
{

    HttpClient webClient = new HttpClient();
    string url = string.Format("https://api.coinbase.com/v2/exchange-rates?currency=" + Settings.defaultCurrency);
    HttpResponseMessage coinbaseJsonRaw = await webClient.Getasync(url);
    return JObject.Parse(await coinbaseJsonRaw.Content.ReadAsStringAsync());
}

该怎么办,我做错了什么?

diaoqichao 回答:读取Coinbase API时,无法在newtonsoft.Json.LinqJvalue上获得子值?

返回的json看起来有所不同。试试下面的

cryptoExchangeRate = (string)connector["data"]["rates"][Settings.defualtCrypto.ToUpper()];
本文链接:https://www.f2er.com/3124010.html

大家都在问