title: Cannot deserialize the JSON array (e.g. [1,2,3]) into type ' ' because type requires JSON object (e.g. {"name":"value"}) to deserialize correctly
body: <p>I have this JSON:</p>
  
  <pre><code>[
      {
          "Attributes": [
              {
                  "Key": "Name",
                  "Value": {
                      "Value": "Acc 1",
                      "Values": [
                          "Acc 1"
                      ]
                  }
              },
              {
                  "Key": "Id",
                  "Value": {
                      "Value": "1",
                      "Values": [
                          "1"
                      ]
                  }
              }
          ],
          "Name": "account",
          "Id": "1"
      },
      {
          "Attributes": [
              {
                  "Key": "Name",
                  "Value": {
                      "Value": "Acc 2",
                      "Values": [
                          "Acc 2"
                      ]
                  }
              },
              {
                  "Key": "Id",
                  "Value": {
                      "Value": "2",
                      "Values": [
                          "2"
                      ]
                  }
              }
          ],
          "Name": "account",
          "Id": "2"
      },
      {
          "Attributes": [
              {
                  "Key": "Name",
                  "Value": {
                      "Value": "Acc 3",
                      "Values": [
                          "Acc 3"
                      ]
                  }
              },
              {
                  "Key": "Id",
                  "Value": {
                      "Value": "3",
                      "Values": [
                          "3"
                      ]
                  }
              }
          ],
          "Name": "account",
          "Id": "2"
      }
  ]
  </code></pre>
  
  <p>And I have these classes:</p>
  
  <pre><code>public class RetrieveMultipleResponse
  {
      public List&lt;Attribute&gt; Attributes { get; set; }
      public string Name { get; set; }
      public string Id { get; set; }
  }
  
  public class Value
  {
      [JsonProperty("Value")]
      public string value { get; set; }
      public List&lt;string&gt; Values { get; set; }
  }
  
  public class Attribute
  {
      public string Key { get; set; }
      public Value Value { get; set; }
  }
  </code></pre>
  
  <p>I am trying to deserialize the above JSON using the code below:</p>
  
  <pre><code>var objResponse1 = JsonConvert.DeserializeObject&lt;RetrieveMultipleResponse&gt;(JsonStr);
  </code></pre>
  
  <p>but I am getting this error:</p>
  
  <blockquote>
    <p>Cannot deserialize the current JSON array (e.g. [1,2,3]) into type
    'test.Model.RetrieveMultipleResponse' because the type requires a JSON
    object (e.g. {"name":"value"}) to deserialize correctly. To fix this
    error either change the JSON to a JSON object (e.g. {"name":"value"})
    or change the deserialized type to an array or a type that implements
    a collection interface (e.g. ICollection, IList) like List that can
    be deserialized from a JSON array. JsonArrayAttribute can also be
    added to the type to force it to deserialize from a JSON array. Path
    '', line 1, position 1.</p>
  </blockquote>