Не могу обратиться к полям json файла
WebRequest request = WebRequest.Create("http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20yahoo.finance.historicaldata%20where%20symbol%20=%20%22TIBX%22%20and%20startDate%20=%20%222013-01-01%22%20and%20endDate%20=%20%222014-01-01%22&format=json&diagnostics=true&env=store://datatables.org/alltableswithkeys");
WebResponse response = request.GetResponse();
using (Stream stream = response.GetResponseStream())
{
Type serializationTargetType = typeof(JsonContract);
DataContractJsonSerializer jsonSerializer = new DataContractJsonSerializer(serializationTargetType);
JsonContract jsonDeserialized = (JsonContract)jsonSerializer.ReadObject(stream);
gv_information.DataSource = jsonDeserialized.query.results.quote;
DataBind();
}
public class JsonContract
{
public QueryContract query { get; set; }
}
public class QueryContract
{
public string count { get; set; }
public string created { get; set; }
public string lang { get; set; }
public DiagnosticsContract diagnostics { get; set; }
public ResultsContract results { get; set; }
}
public class ResultsContract
{
public List<QuoteContract> quote { get; set; }
}
public class QuoteContract
{
//public string Symbol { get; set; }
public string Date { get; set; }
public string Open { get; set; }
public string High { get; set; }
public string Low { get; set; }
public string Close { get; set; }
public string Volume { get; set; }
public string Adj_Close { get; set; }
}
public class DiagnosticsContract
{
public List<UrlContract> url { get; set; }
public string publiclyCallable { get; set; }
public List<CacheContract> cache { get; set; }
public List<Query2Contract> query { get; set; }
public JavascriptContract javascript { get; set; }
}
[DataContract]
public class UrlContract
{
[DataMember(Name = "execution-start-time")]
public string ExecutionStartTime { get; set; }
[DataMember(Name = "execution-stop-time")]
public string ExecutionStopTime { get; set; }
[DataMember(Name = "execution-time")]
public string ExecutionTime { get; set; }
[DataMember(Name = "content")]
public string Content { get; set; }
}
public class CacheContract
{
}
public class Query2Contract
{
}
public class JavascriptContract
{
}
Источник: Stack Overflow на русском