title: Empty json list treated as null
body: <p>I have a problem with empty JSON lists deserializing to null while null values deserializes to an empty list.</p>
  
  <p>Using this test scenario in a completely new MVC project:</p>
  
  <pre><code>public class TestController : Controller
  {
     public ActionResult Index(ImportObject importObject)
     {
        return Content("Response");
     }
  
     public class ImportObject
     {
        public List&lt;string&gt; StringListNull { get; set; }
        public List&lt;string&gt; StringListEmpty { get; set; }
        public List&lt;string&gt; StringListPopulated { get; set; }
     }
  }
  </code></pre>
  
  <p>I'm posting the following JSON:</p>
  
  <pre><code>{
    "StringListNull": null,
    "StringListEmpty": [],
    "StringListPopulated": ["one", "two"]
  }
  </code></pre>
  
  <p>And this happens:</p>
  
  <p><a href="https://i.stack.imgur.com/kuYwa.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/kuYwa.png" alt="Debugging result"></a></p>
  
  <p>The populated string list is expected. But in my mind the null value of StringListNull should result in it being null. </p>
  
  <p>When passing the value [] I'm expecting it being turned into an empty list</p>
  
  <p>Am I missing something trivial? How can I make the null value become a nulled list and the empty list become an empty list? </p>
  
  <p>What controls the default serialization from JSON to the parameter class (ImportObject)?</p>
  
  <p>/K</p>