JSON, возвращаемый из этой конечной точки, не совсем соответствует вашей модели.
Вот строка, в которой вы указываете своей программе, как анализировать ответ:
Stock currentStockInfo = JsonConvert.DeserializeObject (reader.ReadToEnd ());
... но ответ выглядит так:
{
"Meta Data": {
"1. Information": "Daily Prices (open, high, low, close) and Volumes",
"2. Symbol": "MSFT",
"3. Last Refreshed": "2018-12-10 16:00:02",
"4. Output Size": "Compact",
"5. Time Zone": "US/Eastern"
},
"Time Series (Daily)": {
"2018-12-10": {
"1. open": "104.8000",
"2. high": "107.9800",
"3. low": "103.8900",
"4. close": "107.5900",
"5. volume": "39050766"
},
"2018-12-07": {
"1. open": "108.3800",
"2. high": "109.4500",
"3. low": "104.3000",
"4. close": "104.8200",
"5. volume": "45044937"
}...
...
...
...
}
Вы пытаетесь перевернуть весь этот ответв один Stock
объект, который не будет работать.Ответ не является Stock
, это ответ с двумя объектами, один из которых имеет множество Stock
объектов.
Вы можете попытаться создать модель для этого*, но я бы рекомендовал превратить весь этот ответ в JObject
(еще один объект в NewtonSoft JSON.Net).
Вот DotNetFiddle, который я собрал, чтобы продемонстрировать, как он работает.
https://dotnetfiddle.net/Iz8UsD
Дайте мне знать, если я смогу добавить что-нибудь более полезное.
РЕДАКТИРОВАТЬ: * Вероятно, вы можете получить строго типизированную модель для работы здесь, проблема в том,что каждый Stock
имеет свое имя JSON.Я не знаю, как заставить синтаксический анализатор анализировать каждый как Stock
, сохраняя при этом данные.Я буду играть с этим сегодня вечером.