Can't deserialize JSON in Unity 5.4 using JsonUtility. Child collection is always empty
<p>The Model</p>

<pre><code>using System.Collections.Generic;
using UnityEngine;

[System.Serializable]
public class GetPeopleResult
{
    public List&lt;Person&gt; people { get; set; }
    public GetPeopleResult()
    {
       this.people = new List&lt;People&gt;();
    }

    public static GetPeopleResult CreateFromJSON(string jsonString)
    {
        return JsonUtility.FromJson&lt;GetPeopleResult&gt;(jsonString);
    }

}
[System.Serializable]
public class Person
{
    public long id { get; set; }
    public string name { get; set; }
    public string email { get; set; }
    public string displayImageUrl { get; set; }

    public Person()
    {

    }
    public static Person CreateFromJSON(string jsonString)
    {
        return JsonUtility.FromJson&lt;Person&gt;(jsonString);
    }
}
</code></pre>

<p>The JSON</p>

<pre><code>{
    "people":
    [{
        "id":1,"name":"John Smith",
        "email":"jsmith@acme.com",
        "displayImageUrl":"http://example.com/"
    }]
 }
</code></pre>

<p>The Code</p>

<pre><code>string json = GetPeopleJson(); //This works
GetPeopleResult result = JsonUtility.FromJson&lt;GetPeopleResult&gt;(json);
</code></pre>

<p>After the call to FromJson, <strong>result</strong> is not null, but the <strong>people</strong> collection is always empty.</p>