title: Deserialise nested JSON with Newtonsoft and C#
body: <p>I am trying to parse a Json response form a Rest API. I can get the response fine and have created some class Models. I am using Newtonsoft's Json.Net.</p>
  
  <p>I keep getting null values in my response and am not sure if I have setup my Models correct or am missing something?</p>
  
  <p>What I am trying to get is for example, Firstname and ReferenceNumber which are in Data\Items\Employee</p>
  
  <p>An example of my Json response is:</p>
  
  <pre><code>{
  "Data": {
      "Links": [
    {
      "Rel": "parent",
      "Href": "http://Api/url/",
      "Title": "Api",
    }
  ],
      "Items": [
    {
      "Employee": {
    "ReferenceNumber": "0078952",
    "EmployeeStatus": {
      "Name": "Active",
      "Value": 2
    },
    "ContactByPost": true,
    "ContactByMarketingEmails": true,
    "ClientDetails": [
      {
        "LimitedCompany": {
          "Id": "809f4455-673d-df11-9849-00155d072900",
          "Name": "Company"
        },
        "ClientCompany": {
          "Id": "62494f0c-617d-412f-81a3-ca40ef80f774",
          "Name": "Company 2"
        },
        "Code": "G67D",
        "RefCode": "1271",
        "Date": "\/Date(1333456265000+0100)\/",
        "Id": "009ea227-887d-e111-96ec-000c29128cee",
        "CreatedOn": "\/Date(1333455954000+0100)\/",
        "CreatedBy": {
          "Id": "5c2cb5eb-7368-e111-96eb-000c29128cee",
          "Name": "System Administrator"
        },
        "Archived": false
      }
    ],
    "Title": {
      "Name": "Mr",
      "Value": 1
    },
    "FirstName": "Fred",
    "MiddleName": null,
    "LastName": "Flintstone",
    "KnownAs": null,
    "DateOfBirth": "\/Date(315576000000+0000)\/",
    "Gender": {
      "Name": "Male",
      "Value": 1
    },
    "HomePhoneNumber": "55555555555",
    "MobilePhoneNumber": null,
    "Addresses": null,
    "EmailAddresses": null,
    "Id": "009ea227-887d-e111-96ec-000c29128cee",
    "CreatedOn": "\/Date(1333455954000+0100)\/",
    "CreatedBy": {
      "Id": "5c2cb5eb-7368-e111-96eb-000c29128cee",
      "Name": "System Administrator"
    },
    "Archived": false
  },
      "Links": [
        {
          "Rel": "list",
          "Href": "http://Api/Addresses",
          "Title": "Addresses",
          "Description": "Get a list of addresses for this Employee."
        }
      ]
    }
  ]
  }
  }
  </code></pre>
  
  <p>My Models are setup as shown below:</p>
  
  <pre><code>public class Data
  {
      public Collection&lt;Links&gt; Links { get; set; }
      public Collection&lt;Items&gt; Items { get; set; }
  }
  public class Items
  {
      public Employee Employee { get; set; }
  }
  public class Employee
  {
      public string ReferenceNumber { get; set; }
      public string FirstName { get; set; }
      public string MiddleName { get; set; }
      public string LastName { get; set; }
      public string Id { get; set; }
  }
  public class Links
  {
      public string Rel { get; set; }
      public string Href { get; set; }
      public string Title { get; set; }
      public string Description { get; set; }
  }
  </code></pre>
  
  <p>In my Controller I am doing the following: </p>
  
  <pre><code>Data data = Newtonsoft.Json.JsonConvert.DeserializeObject&lt;Data&gt;(APIResponse);
  </code></pre>
  
  <p>All I see when debugging is Items and Links which are both null. I'm not really sure what I am doing wrong or how I get this to work so I can access the values in my C# code? Any help would be appreciated. The application is MVC3. The examples I've seen are using simple json structures.</p>