php json 구문 분석 오류에 대한 해결 방법: 먼저 PHP 샘플 파일을 만든 다음 "json_last_error()" 함수를 통해 json 구문 분석의 특정 오류를 수동으로 가져오고 오류에 따라 수정합니다.
이 문서의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP 구문 분석 json, xml 오류
json 구문 분석
php 내장 함수 json_decode() json 문자열을 구문 분석할 수 있습니다.
그러나 때로는 올바르게 보이는 json이 구문 분석될 때 항상 null을 반환합니다.
json이 구문 분석되지 않을 수 있으며 현재 PHP가 프롬프트를 생성하지 않는다는 것을 알고 계셨습니까?
json_last_error() 함수를 통해
function json_decode_siam($string, $mark = false){ $data = json_decode($string, $mark); switch (json_last_error()) { case JSON_ERROR_NONE: return $data; break; case JSON_ERROR_DEPTH: echo ' - 已超出最大堆栈深度'; break; case JSON_ERROR_STATE_MISMATCH: echo ' - JSON无效或格式错误 状态不匹配'; break; case JSON_ERROR_CTRL_CHAR: echo ' - 发现意外的控制字符 可能编码错误'; break; case JSON_ERROR_SYNTAX: echo ' - 错误符号,json格式错误'; break; case JSON_ERROR_UTF8: echo ' - 格式错误的UTF-8字符,可能是错误编码的'; break; default: echo ' - Unknown error'; break; } }
parsing xml을 수동으로 얻어야 합니다
PHP에서는 주로 다양한 확장 환경에 의존하는 xml을 구문 분석하는 여러 가지 방법이 있습니다.
제가 자주 사용하는 이 방법에 대해 이야기해보겠습니다
simplexml_load_string(); simplexml_load_file();
문자열이나 파일을 통해 불러와서 파싱하고 Simplexml 객체를 반환할 수 있습니다
이 방법에서는 xml 형식이 잘못되면 바로 오류가 발생합니다
$str = "不是xml字符串"; $data = simplexml_load_string($str); var_dump($data);
Get
bool(false) PHP Warning: simplexml_load_string(): Entity: line 1: parser error : Start tag expected, '<' not found in /usercode/file.php on line 4 PHP Warning: simplexml_load_string(): 不是xml字符串 in /usercode/file.php on line 4 PHP Warning: simplexml_load_string(): ^ in /usercode/file.php on line 4
이것은 PHP 오류이지 예외가 아니므로 try{}catch(){)를 사용하여 처리할 수 없습니다.
이 지식 부분은 나중에 개선될 수 있습니다(주로 선배들이 작성했기 때문입니다) 훨씬 더 좋은 기사)
【추천 학습: "PHP 비디오 튜토리얼"】
위 내용은 php json 파싱 오류가 발생하면 어떻게 해야 할까요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!