title: C# Json deserializing properties with changing names
body: <p>So I want to deserialize a Json reply that looks like this:</p>
  
  <pre><code>{
  "Meta Data": {
      "1. Information": "Intraday (1min) prices and volumes",
      "2. Symbol": "OMXS30",
      "3. Last Refreshed": "2018-07-11 10:03:00",
      "4. Interval": "1min",
      "5. Output Size": "Compact",
      "6. Time Zone": "US/Eastern"
  },
  "Time Series (1min)": {
      "2018-07-11 10:03:00": {
          "1. open": "1526.9352",
          "2. high": "1526.9522",
          "3. low": "1526.6548",
          "4. close": "1526.7195",
          "5. volume": "0"
      },
      "2018-07-11 10:02:00": {
          "1. open": "1526.3879",
          "2. high": "1527.0217",
          "3. low": "1526.3879",
          "4. close": "1526.9825",
          "5. volume": "0"
          }
      }
  }
  </code></pre>
  
  <p>I have the following classes:</p>
  
  <pre><code>class RootObject
  {
      [JsonProperty("Meta Data")]
      public Metadata metadata { get; set; }
  
      [JsonProperty("Time Series (1min)")]
      public TimeSeries timeSeries { get; set; }
  }
  
  class Metadata
  {
      [JsonProperty("1. Information")]
      public string information { get; set; }
  
      [JsonProperty("2. Symbol")]
      public string symbol { get; set; }
  
      [JsonProperty("3. Last Refreshed")]
      public string lastRefreshed { get; set; }
  
      [JsonProperty("4. Interval")]
      public string interval { get; set; }
  
      [JsonProperty("5. Output Size")]
      public string outputSize { get; set; }
  
      [JsonProperty("6. Time Zone")]
      public string timeZone { get; set; }
  }
  
  class TimeSeries
  {
      [JsonProperty("timestamp")]
      public List&lt;DataValues&gt; dataValues { get; set; }
  }
  
  class DataValues
  {
      [JsonProperty("1. open")]
      public float open { get; set; }
  
      [JsonProperty("2. high")]
      public float high { get; set; }
  
      [JsonProperty("3. low")]
      public float low { get; set; }
  
      [JsonProperty("4. close")]
      public float close { get; set; }
  
      [JsonProperty("5. volume")]
      public float volume { get; set; }
  }
  </code></pre>
  
  <p>The deserialization of the metadata work, but  can't seem to get it to work for the datavalues that are in the timestamps. I think that is because the Json property name is changing with every timestamp. </p>
  
  <p>What I want is the values of every timestamp to be in the list called dataValues.</p>
  
  <p>I am using Newtonsoft.Json.</p>
  
  <p>I am trying to get a value like this:</p>
  
  <pre><code>string result = root.timeSeries.dataValues[0].close.ToString();
  </code></pre>
  
  <p>The error that I get is: the object reference not set to an instance of an object.</p>