Como enviar objeto json aninhado para o controlador mvc usando ajax

Estou trabalhando em um aplicativo ASP.NET MVC. Eu tenho o seguinte modelo de exibição em c #:

public class ContactModel
{
    public string Address { get; set; }
    public string City { get; set; }
    public string State { get; set; }
}

public class PersonModel
{
    public ContactModel Contact;

    public PersonModel()
    {
        Contact = new ContactModel();
    }

    public string FirstName { get; set; }
    public string LastName { get; set; }
    public string Profession { get; set; }
}

Agora eu tenho o mesmo modelo json no lado do cliente que eu quero postar no servidor. Estou usando o seguinte jquery ajax:

$.ajax({
    url: "address to controller",
    type: "post",
    data: JSON.stringify(data),
    contentType: "application/json",
    success: function () {
        alert("data saved successfully");
    }
});

Mas apenas as propriedades PersonModel são mapeadas, mas as propriedades Contact são nulas. Alguém pode me dizer o que estou perdendo?

questionAnswers(3)

yourAnswerToTheQuestion