Получить значение из результата json, возвращаемого web.DownloadString (uri); - PullRequest
0 голосов
/ 19 февраля 2019

У меня есть 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 голосов
/ 19 февраля 2019

для этого конкретного ответа, вы можете использовать что-то вроде этого:

    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 в основном

...