"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > Cómo recibir JSON POST con PHP

Cómo recibir JSON POST con PHP

Publicado el 2024-09-15
Navegar:236

How to Receive JSON POST with PHP

Para recibir una solicitud JSON POST en PHP, puedes seguir estos pasos:

  • Asegúrese de que la solicitud que se envía a su script PHP esté formateada como un objeto JSON.

  • En su script PHP, recupere los datos POST sin procesar usando la función file_get_contents('php://input'). Esta función lee el flujo de entrada sin formato de la solicitud HTTP.

  • Utilice la función json_decode() para decodificar los datos JSON recibidos en una matriz u objeto asociativo PHP.

  • Luego puede acceder a los datos decodificados y realizar cualquier operación o procesamiento necesario en ellos.

Hay varias formas de recibir una solicitud JSON POST en PHP. Aquí hay tres métodos comunes

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

  • Usando $_POST superglobal

  • Usando json_decode() con $_REQUEST

Usando file_get_contents('php://input')

Para recibir una solicitud JSON POST en PHP usando el método file_get_contents('php://input'), sigue estos pasos:

Envíe los datos JSON en el cuerpo de la solicitud con un encabezado Content-Type establecido en application/json.

En su script PHP, use la función file_get_contents('php://input') para recuperar los datos POST sin procesar.

Utilice la función json_decode() para decodificar los datos JSON recibidos en una matriz u objeto asociativo PHP.

Luego podrás acceder a los datos decodificados y realizar cualquier operación o procesamiento necesario en ellos.

Ejemplo

Aquí hay un fragmento de código de ejemplo que demuestra cómo recibir y procesar una solicitud JSON POST usando file_get_contents('php://input'):

En este ejemplo, los datos JSON POST se recuperan usando file_get_contents('php://input') y se almacenan en la variable $jsonData. Luego, la función json_decode() se usa para decodificar los datos JSON en una matriz asociativa PHP, que se almacena en la variable $data.

Puede acceder a los datos recibidos utilizando las claves de matriz apropiadas (por ejemplo, $data['name'], $data['age']) y realizar las tareas necesarias. operaciones o procesamiento basados ​​en sus requisitos específicos.

Recuerde manejar los casos de error, como cuando la decodificación JSON falla debido a un JSON no válido. En el ejemplo anterior, se proporciona un código de respuesta HTTP apropiado (400 Solicitud incorrecta) y un mensaje de error para manejar este escenario.

Usando $_POST superglobal

Para recibir una solicitud JSON POST en PHP usando el superglobal $_POST, sigue estos pasos:

Envíe los datos JSON en el cuerpo de la solicitud con un encabezado Content-Type establecido en application/json.

En su script PHP, acceda a los datos JSON desde el superglobal $_POST.

Los datos JSON se analizarán automáticamente y estarán disponibles como una matriz asociativa en $_POST.

Luego podrá acceder a los datos recibidos y realizar cualquier operación o procesamiento necesario en ellos.

Ejemplo

Aquí hay un fragmento de código de ejemplo que demuestra cómo recibir y procesar una solicitud JSON POST utilizando el superglobal $_POST:

En este ejemplo, los datos JSON POST se analizan automáticamente y están disponibles en el superglobal $_POST. Los datos recibidos se almacenan en la variable de datos $, a la que se puede acceder como una matriz asociativa.

Puede acceder a los datos recibidos utilizando las claves de matriz apropiadas (por ejemplo, $data['name'], $data['age']) y realizar las tareas necesarias. operaciones o procesamiento basados ​​en sus requisitos específicos.

Si no se reciben datos o si la solicitud no contiene JSON válido, puede manejar el caso de error en consecuencia. En el ejemplo anterior, se proporciona un código de respuesta HTTP apropiado (400 Solicitud incorrecta) y un mensaje de error para manejar el escenario cuando no se reciben datos JSON.

Usando json_decode() con $_REQUEST

Para recibir una solicitud JSON POST en PHP usando la función json_decode() con $_REQUEST, sigue estos pasos:

Envíe los datos JSON en el cuerpo de la solicitud con un encabezado Content-Type establecido en application/json.

En su script PHP, recupere los datos POST sin procesar usando la función file_get_contents('php://input').

Utilice la función json_decode() para decodificar los datos JSON recibidos en una matriz u objeto asociativo PHP.

Asigne los datos decodificados al superglobal $_REQUEST.

Ejemplo

Aquí hay un fragmento de código de ejemplo que demuestra cómo recibir y procesar una solicitud JSON POST usando json_decode() con $_REQUEST:

En este ejemplo, los datos JSON POST se recuperan usando file_get_contents('php://input') y se almacenan en la variable $jsonData. Luego, la función json_decode() se usa para decodificar los datos JSON en una matriz asociativa PHP, que se almacena en la variable de datos $.

Los datos decodificados se asignan al superglobal $_REQUEST, haciéndolo accesible como una matriz asociativa. Luego puede acceder a los datos recibidos utilizando las claves de matriz apropiadas (por ejemplo, $_REQUEST['name'], $_REQUEST['age']) y realizar cualquier operación o procesamiento basado en sus requisitos específicos.

Tenga en cuenta que en algunos casos no se recomienda modificar el superglobal $_REQUEST, ya que combina datos de varias fuentes (GET, POST y COOKIE), lo que puede introducir riesgos de seguridad. Generalmente es más seguro utilizar el superglobal específico ($_GET, $_POST o $_COOKIE) según la fuente de los datos.

Conclusión

Estos métodos proporcionan diferentes enfoques para recibir y procesar solicitudes JSON POST en PHP. La elección del método depende de su caso de uso específico y de sus preferencias. El primer método le brinda más control y flexibilidad, mientras que los dos últimos métodos utilizan funciones PHP integradas para manejar datos JSON.

Declaración de liberación Este artículo se reproduce en: https://www.tutorialspoint.com/how-to-receive-json-post-with-php Si hay alguna infracción, comuníquese con [email protected] para eliminarla.
Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3