Heim  >  Artikel  >  Backend-Entwicklung  >  Was tun, wenn ein PHP-JSON-Parsing-Fehler auftritt?

Was tun, wenn ein PHP-JSON-Parsing-Fehler auftritt?

藏色散人
藏色散人Original
2021-03-05 09:13:413742Durchsuche

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.

Was tun, wenn ein PHP-JSON-Parsing-Fehler auftritt?

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, &#39;<&#39; 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn