title: Newtonsoft.Json.Linq.JProperty does not contain a definition for forename
body: <p>I am extracting data from the following JSON</p>
  
  <pre><code>string strResponse =
  @"[
      {
          'forename': 'Harry',
          'surname': 'Potter',
          'house': 'Gryffindor'
      },
      {
          'forename': 'Draco',
          'surname': 'Malfoy',
          'house': 'Slytherin'
      },
      {
          'forename': 'Luna',
          'surname': 'Lovegood',
          'house': 'Ravenclaw'
      }
  ]";
  </code></pre>
  
  <p>The C# I am using is as follows:</p>
  
  <pre><code>dynamic dynJson = JsonConvert.DeserializeObject(strResponse);
  foreach (var item in dynJson)
  {
      string output = string.Format("{0} {1} {2}", item.forename, item.surname, item.house);
      Console.WriteLine(output);
  }
  </code></pre>
  
  <p>This works fine and the output is as expected.</p>
  
  <p>However, when the JSON is in a slightly different format such as:</p>
  
  <pre><code>string strResponse =
  @"{
      'People': [
      {
          'forename': 'Harry',
          'surname': 'Potter',
          'house': 'Gryffindor'
      },
      {
          'forename': 'Draco',
          'surname': 'Malfoy',
          'house': 'Slytherin'
      },
      {
          'forename': 'Luna',
          'surname': 'Lovegood',
          'house': 'Ravenclaw'
      }
      ]
  }";
  </code></pre>
  
  <p>I get the following error message:</p>
  
  <blockquote>
    <p>An unhandled exception of type
    'Microsoft.CSharp.RuntimeBinder.RuntimeBinderException' occurred in
    System.Core.dll</p>
    
    <p>Additional information: 'Newtonsoft.Json.Linq.JProperty' does not
    contain a definition for 'forename'</p>
  </blockquote>
  
  <p>I know this is to do with the structure of the new JSON string and in particular the <code>People</code> section. But I do not know how to adapt my code to handle this, please help.</p>