PHP용 JSON POST에서 HTTP 요청 본문 구문 분석 해결
PHP에서 웹훅 엔드포인트를 개발할 때 JSON 페이로드를 검색하고 구문 분석하는 것이 어려울 수 있습니다. . 이 문서에서는 JSON POST 시나리오에서 HTTP 요청 본문을 읽으려고 할 때 발생하는 일반적인 문제를 다룹니다.
첫 번째 단계에서는 요청 헤더가 페이로드 내에 JSON 데이터가 있는지 올바르게 나타내는지 확인하는 작업이 포함됩니다. 이 경우 요청 헤더에는 구문 분석을 기다리는 큰 JSON 개체가 표시됩니다. 그럼에도 불구하고, 데이터가 배열로 구조화되어 있지 않기 때문에 $_POST['json'] 또는 $_POST와 같은 메소드를 통해 이 객체에 직접 액세스하는 것은 불가능합니다.
일부 개발자는 file_get_contents('php:/ /input') 또는 fopen('php://input', 'r')을 사용하여 요청 본문을 가져옵니다. 그러나 이러한 방법만으로는 충분하지 않습니다. 원시 JSON 문자열을 액세스 가능한 형식으로 변환하려면 json_decode() 함수도 필요합니다.
발견된 대로 올바른 접근 방식은 이러한 단계를 결합하는 것입니다. 해결책은 다음과 같습니다.
$inputJSON = file_get_contents('php://input'); $input = json_decode($inputJSON, TRUE); //convert JSON into array
json_decode()의 두 번째 매개변수를 TRUE로 설정하면 JSON이 연관 배열로 변환됩니다. 이를 통해 PHP 스크립트 내의 데이터에 쉽게 액세스하고 조작할 수 있어 POST된 JSON 개체를 구문 분석하고 상호 작용하기 위한 요구 사항을 충족할 수 있습니다.
위 내용은 PHP에서 JSON POST 요청 본문을 올바르게 구문 분석하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!