1

I have the following JSON:

{ 
 "TimeSeries": {
 "2019-04-26": {
 "open": "20.9000",
 "high": "21.0000",
 "low": "20.7300",
 "close": "20.7300",
 "volume": "556200"
 },
 "2019-04-25": {
 "open": "20.8000",
 "high": "20.9100",
 "low": "20.6600",
 "close": "20.7800",
 "volume": "784200"
 }
 }
}

I Need Deserialize to a C# Object. The problem is the Column format, that represents the Date, is dynamic.

I've tried with Newtonsoft JSON, but to no avail. How do I turn this JSON into this object?

 public class PriceHistory
 {
 public decimal Open { get; set; }
 public decimal High { get; set; }
 public decimal Low { get; set; }
 public decimal Close { get; set; }
 public decimal Volume { get; set; }
 //THE PROBLEM IS THIS FIELD
 public DateTime Date { get; set; }
 }
asked Apr 27, 2019 at 13:44
2
  • How you Deserialize? Commented Apr 27, 2019 at 13:48
  • The question is precisely this, I do not know how to deserialize :/ Commented Apr 27, 2019 at 13:54

1 Answer 1

4

Use these classes:

public class Root
{
 public Dictionary<DateTime, PriceHistory> TimeSeries { get; set; }
}
public class PriceHistory
{
 public decimal Open { get; set; }
 public decimal High { get; set; }
 public decimal Low { get; set; }
 public decimal Close { get; set; }
 public decimal Volume { get; set; }
}

Deserialization:

var json = File.ReadAllText("test.json");
var root = JsonConvert.DeserializeObject<Root>(json);
answered Apr 27, 2019 at 14:08

Comments

Your Answer

Draft saved
Draft discarded

Sign up or log in

Sign up using Google
Sign up using Email and Password

Post as a guest

Required, but never shown

Post as a guest

Required, but never shown

By clicking "Post Your Answer", you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.