JSON 형식의 데이터를 게시해야 하는 웹 서비스로 작업할 때 PHP에서 POST 값을 올바르게 처리하는 것이 중요합니다. 이 문서에서는 JSON POST 데이터를 효과적으로 읽고 구문 분석하는 단계를 안내합니다.
빈 $와 관련된 문제가 발생하는 경우 _POST 값은 application/json을 Content-Type으로 지정했음에도 불구하고 게시 값을 필터링하는 방식 때문일 수 있습니다. 이 경우 기존의 $_POST 변수는 JSON 형식의 데이터를 읽는 데 적합하지 않습니다.
원시 데이터에 액세스하려면 JSON POST 데이터의 경우 file_get_contents('php://input')를 사용해야 합니다. 이 함수는 현재 스크립트의 입력 스트림을 읽고 원시 HTTP 요청 본문을 반환합니다.
수신 측에서 업데이트된 PHP 코드:
$json = file_get_contents('php://input'); $obj = json_decode($json);
웹 서비스를 테스트할 때 POST 데이터가 올바른 형식으로 전송되는지 확인하는 것이 중요합니다. 테스트 코드에서:
업데이트된 테스트 code:
$data_string = json_encode($data); $ch = curl_init('http://webservice.local/'); curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($ch, CURLOPT_POSTFIELDS, $data_string); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, array( 'Content-Type: application/json', 'Content-Length: ' . strlen($data_string)) ); $result = curl_exec($ch); $result = json_decode($result);
헤더('Content-type: application/json')가 수신 측에서 한 번만 호출되는지 확인하세요.
위 내용은 PHP에서 JSON POST 데이터를 어떻게 올바르게 읽을 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!