从web.DownloadString(uri)返回的json结果中获取值;

问题描述 投票:0回答:1

我有兑换货币的api

WebClient web = new WebClient();
                Uri uri = new Uri(string.Format("https://www.alphavantage.co/query?function=CURRENCY_EXCHANGE_RATE&from_currency={0}&to_currency={1}&apikey=demo", currFrom, currTo));
                string response = web.DownloadString(uri);

响应字符串包含

{
    "Realtime Currency Exchange Rate": {
        "1. From_Currency Code": "USD",
        "2. From_Currency Name": "United States Dollar",
        "3. To_Currency Code": "INR",
        "4. To_Currency Name": "Indian Rupee",
        "5. Exchange Rate": "71.44300000",
        "6. Last Refreshed": "2019-02-19 10:01:45",
        "7. Time Zone": "UTC"
    }
}

我将如何获得汇率?

请帮我

asp.net-web-api asmx
1个回答
1
投票

对于那个特定的响应,你可以使用这样的东西:

    string response = "{\"Realtime Currency Exchange Rate\": {\"1. From_Currency Code\": \"USD\",\"2. From_Currency Name\": \"United States Dollar\",\"3. To_Currency Code\": \"INR\",\"4. To_Currency Name\": \"Indian Rupee\",\"5. Exchange Rate\": \"71.44300000\",\"6. Last Refreshed\": \"2019-02-19 10:01:45\",\"7. Time Zone\": \"UTC\"}}";

var parsedObject = Newtonsoft.Json.JsonConvert.DeserializeObject<JObject>(response);

var actualContent = parsedObject["Realtime Currency Exchange Rate"];
var currencyCode = actualContent.ElementAt(0);
var currencyName = actualContent.ElementAt(1);
.........
var exchangeRate = actualContent.ElementAt(4);

所有你需要的是基本上对Newtonsoft.Json的引用

© www.soinside.com 2019 - 2024. All rights reserved.