유효한 JSON을 사용한 json_decode(): 사례 연구
json_decode()를 사용하여 텍스트 파일에 저장된 JSON 객체를 디코딩하려고 할 때 , JSON 유효성 검사기에 JSON이 유효한 것처럼 보임에도 불구하고 함수가 NULL을 반환하는 시나리오가 발생할 수 있습니다. 파일을 읽을 수 있고 JSON 구문이 올바른 것처럼 보이기 때문에 이는 혼란스러울 수 있습니다.
이러한 경우 JSON 문자열에 들어갈 수 있는 인쇄할 수 없는 문자가 있는지 확인하는 것이 좋습니다. 이러한 문자는 디코딩 프로세스를 방해하여 json_decode()가 실패할 수 있습니다.
이 문제를 해결하려면 정규식을 사용하여 JSON 문자열을 삭제하여 인쇄할 수 없는 문자를 제거할 수 있습니다. 다음 코드 조각은 이를 보여줍니다.
$json_string = preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $json_string); $json_object = json_decode($json_string, true);
이 코드는 $json_string 변수에서 인쇄할 수 없는 모든 문자를 빈 문자열로 바꿉니다. json_decode()의 true 매개변수는 디코딩된 결과가 연관 배열로 반환되도록 보장하며, 이는 추가 처리에 더 편리할 수 있습니다.
인쇄할 수 없는 문자를 제거하면 삭제된 JSON 문자열을 성공적으로 디코딩할 수 있습니다. , json_decode()가 NULL을 반환하는 것을 방지합니다. 이를 통해 향후 사용을 위해 유효한 JSON 데이터를 PHP 데이터 구조로 안정적으로 변환할 수 있습니다.
위 내용은 유효한 JSON에도 불구하고 `json_decode()`가 NULL을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!