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

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

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-27 03:52:09732검색

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

겉보기에 유효한 JSON에서 PHP json_decode() 디코딩 문제

PHP의 json_decode 함수를 사용하여 일반 텍스트 파일에 저장된 JSON을 디코딩하려고 할 때 , 일부 사용자는 JSON의 명백한 유효성에도 불구하고 설명할 수 없는 NULL 반환을 경험합니다. 구조.

영향을 받는 JSON은 JSON 스키마 유효성 검사 표준을 준수하는 경우가 많으며 http://jsonlint.com/과 같은 플랫폼에서 엄격한 테스트를 통과합니다. 그러나 PHP에서 JSON을 디코딩할 때는 여전히 파악하기 어렵습니다.

이 문제를 해결하려면 다음 코드 줄을 디코딩 프로세스에 통합하는 것을 고려하십시오.

json_decode(preg_replace('/[\x00-\x1F\x80-\xFF]/', '', $json_string), true);

이 수정된 json_decode 호출은 JSON 문자열의 보이지 않거나 인쇄할 수 없는 문자(예: 제어 문자, 불법 UTF-8 문자 또는 특수 문자)와 빈 문자열. 이러한 문자는 디코딩 중에 불일치를 일으키고 NULL 반환을 초래할 수 있습니다.

이러한 문자를 필터링함으로써 수정된 코드는 json_decode 함수가 JSON 문자열을 정확하게 구문 분석할 수 있도록 보장하여 JSON 문자열의 유효한 PHP 표현을 반환할 수 있도록 합니다. JSON 데이터.

위 내용은 유효한 JSON에도 불구하고 내 PHP `json_decode()`가 NULL을 반환하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.