Red de conocimiento del abogados - Ley de patentes - Cómo recibir datos tipo json en php

Cómo recibir datos tipo json en php

PHP recibe datos en formato JSON

En los servicios API, actualmente es popular utilizar el formato json para la interacción.

Envíe datos Json a la interfaz llamada por el front-end. Esto es relativamente simple. Solo necesita organizar los datos y convertirlos con json_encode($array), y el front-end obtendrá los datos. formato json.

Recibir datos json enviados por el front-end es un poco más complicado. La razón es que el tipo de datos reconocido por PHP de forma predeterminada es el tipo de datos estándar application/x-www.form-urlencoded. Por lo tanto, el contenido como text/xml o SOAP o application/octet-stream y application/json no se puede analizar. Si usa la matriz $_POST para recibirlo, fallará.

En este momento, puede utilizar $GLOBALS['HTTP_RAW_POST_DATA'] o file_get_contents('php://input') para obtener los datos enviados

Mirando el manual, podrá puede encontrar $GLOBALS[' La diferencia entre HTTP_RAW_POST_DATA'] y $_POST:

$_POST: una matriz de variables pasadas a través del método HTTP POST, que es una variable global automática.

$GLOBALS['HTTP_RAW_POST_DATA']: Genera siempre la variable $HTTP_RAW_POST_DATA que contiene los datos POST originales. Esta variable solo se genera cuando se encuentran datos de un tipo MIME no reconocido. $HTTP_RAW_POST_DATA no está disponible para los datos del formulario enctype="multipart/form-data". Es decir, básicamente $GLOBALS['HTTP_RAW_POST_DATA'] y $_POST son iguales. Pero si PHP no reconoce los datos publicados, puede usar $GLOBALS['HTTP_RAW_POST_DATA'] para recibirlos, como texto/xml o jabón, etc.

Explicación adicional: el tipo de datos reconocido por PHP de forma predeterminada es el tipo de datos estándar application/x-www.form-urlencoded.