<?php
// Ein gültiger JSON-String
$json[] = '{"Organisation": "PHP-Dokumentationsteam"}';
// Ein ungültiger JSON-String, der einen Syntaxfehler hervorruft,
// in diesem Fall werden ' anstelle von " als Anführungszeichen verwendet
$json[] = "{'Organisation': 'PHP-Dokumentationsteam'}";
foreach($json as $string) {
echo 'Dekodiere: ' . $string;
json_decode($string);
switch(json_last_error()) {
case JSON_ERROR_NONE:
echo ' - Keine Fehler';
break;
case JSON_ERROR_DEPTH:
echo ' - Maximale Stacktiefe überschritten';
break;
case JSON_ERROR_STATE_MISMATCH:
echo ' - Unterlauf oder Nichtübereinstimmung der Modi';
break;
case JSON_ERROR_CTRL_CHAR:
echo ' - Unerwartetes Steuerzeichen gefunden';
break;
case JSON_ERROR_SYNTAX:
echo ' - Syntaxfehler, ungültiges JSON';
break;
case JSON_ERROR_UTF8:
echo ' - Missgestaltete UTF-8 Zeichen, möglicherweise fehlerhaft kodiert';
break;
default:
echo ' - Unbekannter Fehler';
break;
}
echo PHP_EOL;
}
?>
Das oben gezeigte Beispiel erzeugt folgende Ausgabe:
Decoding: {"Organisation": "PHP-Dokumentationsteam"} - Keine Fehler
Decoding: {'Organisation': 'PHP-Dokumentationsteam'} - Syntaxfehler, ungültiges JSON