JSON_ERROR_SYNTAX: 숨겨진 문자 문제 발견
온라인 포맷터의 보증에도 불구하고 json_decode()를 사용하여 JSON을 디코딩하는 동안 당황스러운 JSON_ERROR_SYNTAX 오류가 발생하는 경우 JSON이 유효하려면 숨겨진 문자를 찾는 것이 중요합니다.
PHP의 json_decode() 함수는 엄격하며 보이지 않는 제어 문자나 잘못된 UTF-8 인코딩을 포함한 모든 구문 오류가 있는 JSON을 거부합니다. 이 문제를 해결하려면 다음 코드를 구현하십시오.
<code class="php">for ($i = 0; $i <= 31; ++$i) { $data = str_replace(chr($i), "", $data); } $data = str_replace(chr(127), "", $data);</code>
이 루프는 제어 문자(ASCII 코드 0-31 및 127)를 제거합니다. 또한 JSON 접두사로 사용할 수 있는 "바이트 순서 표시"(0xEF 0xBB 0xBF)를 확인하고 이를 폐기합니다.
<code class="php">if (0 === strpos(bin2hex($data), 'efbbbf')) { $data = substr($data, 3); }</code>
JSON 데이터를 정리한 후 json_decode()를 사용하여 디코딩합니다. 이 포괄적인 접근 방식은 JSON_ERROR_SYNTAX 오류의 많은 인스턴스를 해결하여 보다 의미 있는 디코딩 경험을 제공합니다.
위 내용은 숨겨진 문자 문제를 디코딩할 때 JSON_ERROR_SYNTAX를 수정하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!