웹 서비스 호출 후 JSON 디코딩 문제
JSON 구문 분석과 관련된 이 상황에서 OP는 json_decode가 설명할 수 없이 NULL을 반환하는 독특한 문제를 경험합니다. 웹 서비스 호출. 웹 서비스는 적절한 구문을 따르는 것처럼 보이는 JSON 데이터를 전송합니다.
{"action":"set","user":"123123123123","status":"OK"}
그러나 json_decode($foo, true)를 사용하여 PHP 애플리케이션에서 이 JSON 페이로드를 디코딩하려고 시도하면 이상하게도 NULL이 반환됩니다.
잠재적 해결 방법
이 당혹스러운 문제를 해결하려면 문제인 경우 OP는 잠재적으로 중요한 요소인 PHP 마법 인용문을 간과합니다. 서버에서 마법 따옴표를 활성화하면 잠재적으로 위험한 문자를 탈출하여 들어오는 데이터에 큰 피해를 줄 수 있습니다. 이 경우 웹 서비스는 이스케이프되지 않은 JSON을 전송하여 마술 따옴표와 충돌을 일으키는 것 같습니다.
이 문제를 피하려면 PHP 스크립트 시작 부분에 다음 줄을 추가하여 마술 따옴표를 비활성화하세요.
if (get_magic_quotes_gpc()) { $param = stripslashes($_POST['param']); } else { $param = $_POST['param']; } $param = json_decode($param, true);
이렇게 하면 웹 서비스에서 수신한 JSON 데이터가 매직 따옴표의 영향을 받지 않고 디코딩 문제를 해결할 수 있습니다.
위 내용은 웹 서비스 호출 후 json_decode가 NULL을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!