Я борюсь с тем, как конвертировать следующие данные в формате JSON цена кавычки в C# объект:Борясь преобразовать JSON строку в объект
{"MyFeed":
{"@Provider":"SomeProvider","MMM":
{"@name":"3M Corp","low":"194.80","high":"136.78","change":"2.80","pctchange":"0.22","ask":"135.15","bid_time":"20161104131845","bid":"134.80"}
}}
Я создал класс C#, как так:
public class Quote
{
public string Provider { get; set; }
public Data Info { get; set; }
}
public class Data
{
public string name { get; set; }
public decimal low { get; set; }
public decimal high { get; set; }
public decimal change { get; set; }
public decimal pctchange { get; set; }
public decimal ask { get; set; }
public DateTime bid_time { get; set; }
public decimal bid { get; set; }
}
Затем, в коде, я извлекаю данные, используя HttpWebRequest
, который работает просто отлично. Но шаг десериализации данных JSON не работает. Он не выдает ошибки, он просто не имеет данных. Этот код:
var request = HttpWebRequest.Create(new Uri("<request URL here>")) as HttpWebRequest;
request.Method = "POST";
var response = request.GetResponse();
using (Stream stream = response.GetResponseStream())
{
using (var reader = new StreamReader(stream))
{
Quote quote = JsonConvert.DeserializeObject<Quote>(reader.ReadToEnd());
lblPrice.Text = string.Format("{0:c}", quote.Data.ask);
}
}
Я прошел через код, так что я знаю запрос на веб-работает и возвращает строку JSON. Я просто не знаю, как структурировать класс C# для принятия десериализованных данных. Помощь будет оценена!
ЭТО ПОЧТА! Он сгенерировал структуру класса, которую я могу затем переименовать в полях. Большое спасибо за ссылку! –