A API da Web do ASP.NET não pode obter o POST HTTP do aplicativo / x-www-form-urlencoded

Eu sou novo na web-API. Desejo receber dados HTTP POST usando web-api. O tipo de conteúdo éapplication/x-www-form-urlencoded, e o corpo da solicitação é como:

data={"mac":"0004ED123456","model":"SG6200NXL"}(Formato JSON).

Meu controlador é assim:

public void Post([FromBody]string formData)
{
    data.Add(formData);
}

Mas formData é sempre nulo. Somente quando eu altero o corpo da solicitação para:

={"mac":"0004ED123456","model":"SG6200NXL"}

Eu posso encontrar{"mac":"0004ED123456","model":"SG6200NXL"} foi salvo na minhaformData corda.

Então, minha pergunta é como devo receber os dados com o formato:

data={"mac":"0004ED123456","model":"SG6200NXL"}?

E existe uma maneira fácil de dessalinizar o JSON em c #?

Obrigado pela ajuda!

ATUALIZAÇÃO: Tentei usar o modelo, mas ainda não funcionou para mim. Meu modelo é:

public class Device
    {
        public string mac { get; set; }
        public string model { get; set; }
    }

e minha solicitação HTTP POST é:

cabeçalho:

User-Agent: Fiddler
Content-type: application/x-www-form-urlencoded
Host: localhost:52154
Content-Length: 46

corpo:

data={"mac":"0004ED123456","model":"SG6200NX"}

Eu tenho que usarContent-type: application/x-www-form-urlencoded até onde eu sei, porque o HTTP POST é enviado por um roteador. Meu trabalho é receber os dados.

questionAnswers(5)

yourAnswerToTheQuestion