Look again at rates
in the JSON:
"rates": {
"2020-08-03": { "JPY": 124.51 },
"2020-08-25": { "JPY": 125.67 },
"2019-11-20": { "JPY": 119.96 },
"2020-04-08": { "JPY": 118.36 }
}
You’ve declared that as Dictionary<string, Rate>
, which is fine – but that means you expect something like this:
{ "JPY": 124.51 }
… to be deserialized as a Rate
. You’ve got one property, Valuta
, with no JsonProperty
attribute, so what do you expect Json.NET to do with the “JPY” property in the JSON?
If you’re only ever going to get JPY as the key, you could just specify that on Rate
:
public partial class Rate
{
[JsonProperty("JPY")]
public double Valuta { get; set; }
}
… but I suspect it makes more sense to just declare Rates
as a Dictionary<string, Dictionary<string, double>>
instead (and remove your Rate
class entirely).
CLICK HERE to find out more related problems solutions.