title: WebAPI 2 not deserializing List<string> property of FromBody object in POST request
body: <p>In one of my WebAPI 2 applications, I'm having trouble deserializing a <code>List&lt;string&gt;</code> property of a <code>FromBody</code> object. (The list stays empty, while the other properties are deserialized correctly.)</p>
  
  <p>Whatever I do, the property only seems to deserialize correctly if I change the property to a <code>string[]</code>. Unfortunately for me, the property needs to be of type <code>List&lt;string&gt;</code>.</p>
  
  <p>According to <a href="https://stackoverflow.com/questions/43008864/webapi-2-0-post-not-deserializing-listt-property">another question I found</a>, I should be able to deserialize to a <code>List&lt;T&gt;</code>, as long as <code>T</code> is not an <code>Interface</code>.</p>
  
  <p>Is there anyone who has an idea what I could be doing wrong?</p>
  
  <p><strong>Controller:</strong></p>
  
  <pre><code>public class ProjectsController : ApiController
  {
      public IHttpActionResult Post([FromBody]Project project)
      {
          // Do stuff...
      }
  }
  </code></pre>
  
  <p><strong>Project object class:</strong></p>
  
  <pre><code>public class Project
  {
      public string ID { get; set; }
      public string Title { get; set; }
      public string Details { get; set; }
  
      private List&lt;string&gt; _comments;
      public List&lt;string&gt; Comments 
      { 
          get
          {
              return _comments ?? new List&lt;string&gt;();
          }
          set
          {
              if (value != _comments)
                  _comments = value;
          } 
      }
  
      public Project () { }
  
      // Other methods
  }
  </code></pre>
  
  <p><strong>Request JSON:</strong></p>
  
  <pre><code>{
      "Title": "Test",
      "Details": "Test",
      "Comments":
      [
          "Comment1",
          "Comment2"
      ]
  }
  </code></pre>