実行時に JSON プロパティを動的に取得する必要があります。JSON は次のようになります。
{
"timestamp": 1369828868,
"base": "USD",
"rates": {
"AED": 3.673416,
"AFN": 54.135233,
"ALL": 108.828249,
"AMD": 419.878748,
"ANG": 1.788475,
"AOA": 96.154668,
"XDR": 0.66935,
"XOF": 507.521247,
"XPF": 92.277412,
"YER": 214.913206,
"ZAR": 9.769538,
"ZMK": 5227.108333,
"ZMW": 5.316935,
"ZWL": 322.322775
}
}
上記の「Rates」配列から通貨を取得する必要があります。JSON 構造をクエリする方法を理解するのに助けが必要です。ニュートンソフトを使用しています。
私が避けたくないのは、C# で switch ステートメントをハードコーディングすることです。
var json = JsonConvert.DeserializeObject(jsonString) as dynamic;
switch (currencyPair.QuoteCurrencyCode)
{
case "EUR":
exchangeRate = json.rates.EUR;
break;
case "CNY":
exchangeRate = json.rates.CNY;
break;
case "NZD":
exchangeRate = json.rates.NZD;
break;
case "USD":
exchangeRate = json.rates.USD;
break;
case "GBP":
exchangeRate = json.rates.GBP;
break;
case "HKD":
exchangeRate = json.rates.HKD;
break;
case "JPY":
exchangeRate = json.rates.JPY;
break;
case "CAD":
exchangeRate = json.rates.CAD;
break;
default:
throw new Exception("Unsupported to currency: " + currencyPair.QuoteCurrencyCode);
}