title: Deserialize JSON to an array of objects, instead of to one object list
body: <p>Apologies for the probably confusing title. I'm new to JSON and I'm working on a Web Application with a piece of software which interfaces with the API. I have control of both.</p>
  
  <p>My applications needs to enumerate a list of "Clients" and their "Projects". Currently it returns the following:</p>
  
  <pre><code>{
    "clients": [
      {
        "client_id": "1",
        "client_name": "Client1",
        "projects": [
          {
            "client_project_id": "1",
            "client_project_title": "WidgetsA",
            "client_project_client": "1",
            "client_project_status": "1"
          },
          {
            "client_project_id": "11",
            "client_project_title": "WidgetsB",
            "client_project_client": "1",
            "client_project_status": "1"
          }
        ]
      },
      {
        "client_id": "11",
        "client_name": "Client11",
        "projects": [
          {
            "client_project_id": "31",
            "client_project_title": "Install",
            "client_project_client": "11",
            "client_project_status": "1"
          }
        ]
      },
      {
        "client_id": "21",
        "client_name": "Client21",
        "projects": [
          {
            "client_project_id": "61",
            "client_project_title": "Marketing",
            "client_project_client": "21",
            "client_project_status": "1"
          }
        ]
      },
      {
        "client_id": "31",
        "client_name": "Client31",
        "projects": [
          {
            "client_project_id": "71",
            "client_project_title": "Fire Everyone",
            "client_project_client": "31",
            "client_project_status": "1"
          },
          {
            "client_project_id": "81",
            "client_project_title": "Buy A Company",
            "client_project_client": "31",
            "client_project_status": "1"
          }
        ]
      }
    ]
  }
  </code></pre>
  
  <p>I can deserialize this easily enough to an object using the following JSON.NET code:</p>
  
  <pre><code>MyObject result = JsonConvert.DeserializeObject&lt;MyObject&gt;(response);
  </code></pre>
  
  <p>However, this only works if my objects look like the following:</p>
  
  <pre><code>  [Serializable, JsonObject]
      internal class MyObject
      {
          [JsonProperty("clients")]
          internal List&lt;ClientObject&gt; ClientList = new List&lt;ClientList&gt;();
      }
  
  
   internal class ClientObject
      {
  
          [JsonProperty("client_id")]internal string ClientID { get; set; }
  
          [JsonProperty("client_name")] internal string ClientName { get; set; }
  
          [JsonProperty("projects")] internal List&lt;ProjectObject&gt; ProjectList = new List&lt;ProjectObject&gt;();
      }
  </code></pre>
  
  <p>(NB: I've changed the names of a lot of properties and objects for privacy, so apologies for any mistakes added)</p>
  
  <p>What I really want to be able to do is use the following code:</p>
  
  <pre><code>List&lt;ClientObject&gt; result = JsonConvert.DeserializeObject&lt;List&lt;ClientObject&gt;&gt;(response);
  </code></pre>
  
  <p>But no matter how I format the JSON response, JSON.NET throws an error stating that the JSON is not an array. Can anyone advise where I'm going wrong, or what I'm misunderstanding?</p>