Преобразование свойств / токенов JSON.NET JObject в словарные ключи
Я использую JSON.NET для анализа ответа JSON со стороны сервера openexhangerates.org с помощью .NET. Ответ содержит вложенный объект («ставки»), который имеет длинный список числовых свойств:
{
"disclaimer": "Exchange rates provided for informational purposes only, with no guarantee whatsoever of accuracy, validity, availability, or fitness for any purpose; use at your own risk. Other than that, have fun! Usage subject to acceptance of terms: http://openexchangerates.org/terms/",
"license": "Data sourced from various providers with public-facing APIs; copyright may apply; not for resale; no warranties given. Usage subject to acceptance of license agreement: http://openexchangerates.org/license/",
"timestamp": 1357268408,
"base": "USD",
"rates": {
"AED": 3.673033,
"AFN": 51.5663,
"ALL": 106.813749,
"AMD": 403.579996,
etc...
}
}
Имена свойств соответствуют типу валюты (например, «USD»). Мне нужно предположить, что список свойств может меняться со временем, поэтому я хочу преобразовать объект в словарь вместо соответствующего объекта C #.
Поэтому вместо десериализации объекта JSON что-то вроде этого:
class Rates
{
public decimal AED; // United Arab Emirates Dirham
public decimal AFN; // Afghan Afghani
public decimal ALL; // Albanian Lek
public decimal AMD; // Armenian Dram
// etc...
}
Я хочу закончить с этим:
Dictionary<string,decimal>() {{"AED",0.2828},{"AFN",0.3373},{"ALL",2.2823},{"AMD",33.378} // etc...};
Как мне сделать это, начиная со строки ответа или с JObject, созданного путем вызова JObject.Parse (responseString)?