This didn't work for me until I changed it to lower case usd:
Usd = o.Value<decimal>("usd"),