Heim > Artikel > Backend-Entwicklung > Was tun, wenn ein PHP-JSON-Parsing-Fehler auftritt?
Lösung für den PHP-JSON-Parsing-Fehler: Erstellen Sie zunächst eine PHP-Beispieldatei. Rufen Sie dann manuell den spezifischen JSON-Parsing-Fehler ab und ändern Sie ihn schließlich entsprechend dem Fehler.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
PHP-Analyse von JSON, XML-Fehler
Analyse von JSON
In PHP integrierte Funktion json_decode() kann JSON-Strings analysieren
Aber manchmal gibt der JSON, der richtig aussieht, beim Parsen immer null zurück.
Wussten Sie, dass JSON möglicherweise nicht geparst werden kann und PHP zu diesem Zeitpunkt keine Eingabeaufforderung generiert?
Wir müssen
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; } }
XML zum Parsen manuell über die Funktion json_last_error() abrufen
In PHP gibt es mehrere Möglichkeiten zum Parsen von XML, die hauptsächlich auf verschiedenen Erweiterungsumgebungen basieren.
Hier werde ich über diese Methode sprechen, die ich oft verwende
simplexml_load_string(); simplexml_load_file();
Sie können Zeichenfolgen oder Dateien laden und analysieren und Simplexml-Objekte zurückgeben
Wenn bei dieser Methode das XML-Format falsch ist, wird direkt ein Fehler generiert
$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
Dies ist ein PHP-Fehler, keine Ausnahme, daher kann try{}catch(){) nicht zur Behandlung verwendet werden
Dieser Teil des Wissens kann in Zukunft verbessert werden (hauptsächlich, weil Senioren geschrieben haben). viel bessere Artikel)
【Empfohlenes Lernen: „PHP Video Tutorial“】
Das obige ist der detaillierte Inhalt vonWas tun, wenn ein PHP-JSON-Parsing-Fehler auftritt?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!