"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como receber JSON POST com PHP

Como receber JSON POST com PHP

Publicado em 15/09/2024
Navegar:125

How to Receive JSON POST with PHP

Para receber uma solicitação JSON POST em PHP, você pode seguir estas etapas:

  • Certifique-se de que a solicitação enviada ao seu script PHP esteja formatada como um objeto JSON.

  • Em seu script PHP, recupere os dados POST brutos usando a função file_get_contents('php://input'). Esta função lê o fluxo de entrada bruto da solicitação HTTP.

  • Use a função json_decode() para decodificar os dados JSON recebidos em um array ou objeto associativo PHP.

  • Você pode então acessar os dados decodificados e realizar quaisquer operações ou processamento necessários neles.

Existem várias maneiras de receber uma solicitação JSON POST em PHP. Aqui estão três métodos comuns

  • Usando file_get_contents('php://input')

  • Usando $_POST superglobal

  • Usando json_decode() com $_REQUEST

Usando file_get_contents('php://input')

Para receber uma solicitação JSON POST em PHP usando o método file_get_contents('php://input'), siga estas etapas:

Envie os dados JSON no corpo da solicitação com um cabeçalho Content-Type definido como application/json.

Em seu script PHP, use a função file_get_contents('php://input') para recuperar os dados POST brutos.

Use a função json_decode() para decodificar os dados JSON recebidos em um array ou objeto associativo PHP.

Você pode então acessar os dados decodificados e realizar quaisquer operações ou processamento necessários neles.

Exemplo

Aqui está um exemplo de trecho de código que demonstra como receber e processar uma solicitação JSON POST usando file_get_contents('php://input'):

Neste exemplo, os dados JSON POST são recuperados usando file_get_contents('php://input') e armazenados na variável $jsonData. A função json_decode() é então usada para decodificar os dados JSON em um array associativo PHP, que é armazenado na variável $data.

Você pode acessar os dados recebidos usando as chaves de array apropriadas (por exemplo, $data['name'], $data['age']) e executar qualquer operações ou processamento com base em seus requisitos específicos.

Lembre-se de lidar com casos de erro, como quando a decodificação JSON falha devido a JSON inválido. No exemplo acima, um código de resposta HTTP apropriado (400 Bad Request) e uma mensagem de erro são fornecidos para lidar com esse cenário.

Usando $_POST superglobal

Para receber uma solicitação JSON POST em PHP usando a superglobal $_POST, siga estas etapas:

Envie os dados JSON no corpo da solicitação com um cabeçalho Content-Type definido como application/json.

Em seu script PHP, acesse os dados JSON da superglobal $_POST.

Os dados JSON serão analisados ​​automaticamente e disponibilizados como uma matriz associativa em $_POST.

Você pode então acessar os dados recebidos e realizar quaisquer operações ou processamento necessários neles.

Exemplo

Aqui está um exemplo de trecho de código que demonstra como receber e processar uma solicitação JSON POST usando a superglobal $_POST:

Neste exemplo, os dados JSON POST são automaticamente analisados ​​e disponibilizados na superglobal $_POST. Os dados recebidos são armazenados na variável $data, que pode ser acessada como um array associativo.

Você pode acessar os dados recebidos usando as chaves de array apropriadas (por exemplo, $data['name'], $data['age']) e executar qualquer operações ou processamento com base em seus requisitos específicos.

Se nenhum dado for recebido ou se a solicitação não contiver JSON válido, você poderá tratar o caso de erro adequadamente. No exemplo acima, um código de resposta HTTP apropriado (400 Bad Request) e uma mensagem de erro são fornecidos para lidar com o cenário quando nenhum dado JSON é recebido.

Usando json_decode() com $_REQUEST

Para receber uma solicitação JSON POST em PHP usando a função json_decode() com $_REQUEST, siga estas etapas:

Envie os dados JSON no corpo da solicitação com um cabeçalho Content-Type definido como application/json.

Em seu script PHP, recupere os dados POST brutos usando a função file_get_contents('php://input').

Use a função json_decode() para decodificar os dados JSON recebidos em um array ou objeto associativo PHP.

Atribua os dados decodificados à superglobal $_REQUEST.

Exemplo

Aqui está um exemplo de trecho de código que demonstra como receber e processar uma solicitação JSON POST usando json_decode() com $_REQUEST:

Neste exemplo, os dados JSON POST são recuperados usando file_get_contents('php://input') e armazenados na variável $jsonData. A função json_decode() é então usada para decodificar os dados JSON em um array associativo PHP, que é armazenado na variável $data.

Os dados decodificados são atribuídos à superglobal $_REQUEST, tornando-os acessíveis como uma matriz associativa. Você pode então acessar os dados recebidos usando as chaves de array apropriadas (por exemplo, $_REQUEST['name'], $_REQUEST['age']) e executar quaisquer operações necessárias ou processamento com base em seus requisitos específicos.

Lembre-se de que modificar a superglobal $_REQUEST não é recomendada em alguns casos, pois combina dados de várias fontes (GET, POST e COOKIE), o que pode apresentar riscos de segurança. Geralmente é mais seguro usar o superglobal específico ($_GET, $_POST ou $_COOKIE) dependendo da fonte dos dados.

Conclusão

Esses métodos fornecem diferentes abordagens para receber e processar solicitações JSON POST em PHP. A escolha do método depende do seu caso de uso e preferências específicas. O primeiro método oferece mais controle e flexibilidade, enquanto os dois últimos métodos utilizam recursos PHP integrados para lidar com dados JSON.

Declaração de lançamento Este artigo foi reproduzido em: https://www.tutorialspoint.com/how-to-receive-json-post-with-php Se houver alguma violação, entre em contato com [email protected] para excluí-lo
Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3