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

时间:2019-02-19 12:00:37

标签: asp.net-web-api asmx

我有用于兑换货币的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"
    }
}

我将如何从中获得汇率?

请帮助我

1 个答案:

答案 0 :(得分: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的引用