首页 > 解决方案 > 阅读 coinbase api 时无法在 newtonsoft.Json.LinqJvalue 上获取子值?

问题描述

您好,我正在尝试从 URL 获取 coinbase API 汇率,但是 json.net 似乎无法格式化 JSON 文件以读取孩子 在此处输入图像描述

这是引发错误的方法

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 "";
}

这是我用来获取将其存储在 Coinbase 类中的 JObject 中的 JSON 数据的方法

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());
}

我做错了什么让这不起作用?

标签: c#json.netcoinbase-api

解决方案


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

cryptoExchangeRate = (string)connector["data"]["rates"][Settings.defualtCrypto.ToUpper()];

推荐阅读