> 백엔드 개발 > PHP 튜토리얼 > 유효한 JSON에도 불구하고 `json_decode()`가 NULL을 반환하는 이유는 무엇입니까?

유효한 JSON에도 불구하고 `json_decode()`가 NULL을 반환하는 이유는 무엇입니까?

Susan Sarandon
풀어 주다: 2024-11-28 16:12:15
원래의
648명이 탐색했습니다.

Why Does `json_decode()` Return NULL Despite Valid JSON?

유효한 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿