Vordefinierte Konstanten

Folgende Konstanten werden von dieser Erweiterung definiert und stehen nur zur Verfügung, wenn die Erweiterung entweder statisch in PHP kompiliert oder dynamisch zur Laufzeit geladen wurde.

Die folgenden Konstanten geben den Typ des Fehlers an, der von json_last_error() zurückgegeben wurde.

JSON_ERROR_NONE (integer)
Kein Fehler aufgetreten. Verfügbar seit PHP 5.3.0.
JSON_ERROR_DEPTH (integer)
Die maximale Stacktiefe wurde überschritten. Verfügbar seit PHP 5.3.0.
JSON_ERROR_STATE_MISMATCH (integer)
Tritt ein bei Unterlauf oder State-Mismatch. Verfügbar seit PHP 5.3.0.
JSON_ERROR_CTRL_CHAR (integer)
Steuerzeichenfehler, möglicherweise unkorrekt kodiert. Verfügbar seit PHP 5.3.0.
JSON_ERROR_SYNTAX (integer)
Syntaxfehler. Verfügbar seit PHP 5.3.0.
JSON_ERROR_UTF8 (integer)
Ungültige UTF-8 Zeichen, eventuall falsch kodiert. Verfügbar seit PHP 5.3.3.
JSON_ERROR_RECURSION (integer)
Das an json_encode() übergebene Objekt oder Array enthält rekursive Referenzen und kann nicht kodiert werden. Wenn die JSON_PARTIAL_OUTPUT_ON_ERROR Option übergeben wurde, wird NULL an Stelle der rekursiven Referenz kodiert. Verfügbar seit PHP 5.5.0.
JSON_ERROR_INF_OR_NAN (integer)
Der an json_encode() übergebene Wert enthält entweder NAN oder INF. Wenn die JSON_PARTIAL_OUTPUT_ON_ERROR Option übergeben wurde, wird 0 an Stelle dieser speziellen Zahlen kodiert. Verfügbar seit PHP 5.5.0.
JSON_ERROR_UNSUPPORTED_TYPE (integer)
Der an json_encode() übergebene Wert enthält einen nicht unterstützten Typ, beispielweise resource. Wenn die JSON_PARTIAL_OUTPUT_ON_ERROR Option übergeben wurde, wird NULL an Stelle des nicht unterstützten Wertes kodiert. Verfügbar seit PHP 5.5.0.
JSON_ERROR_INVALID_PROPERTY_NAME (integer)
Ein Schlüssel beginnend mit einem \u0000 Zeichen war in der Zeichenkette enthalten, die an json_decode() übergeben wurde, wenn ein JSON-Objekt in ein PHP-Objekt konvertiert werden sollte. Verfügbar seit PHP 7.0.0.
JSON_ERROR_UTF16 (integer)
Ein einzelnes, alleinstehendes UTF-16-Surrogat war im JSON-String enthalten, der an json_decode() übergeben wurde. Verfügbar seit PHP 7.0.0.

Die folgenden Konstanten können kombiniert (verodert) werden, um Optionen für json_decode() zu bilden.

JSON_BIGINT_AS_STRING (integer)
Dekodiert große Zahlen als ihre originale Zeichenkette. Verfügbar seit PHP 5.4.0.
JSON_OBJECT_AS_ARRAY (integer)
Dekodiert JSON-Objekte als PHP-Arrays. Diese Option kann automatisch angefügt werden, indem json_decode() mit TRUE als zweitem Parameter aufgerufen wird. Verfügbar seit PHP 5.4.0.

Die folgenden Konstanten können kombiniert (verodert) werden, um Optionen für json_encode() zu bilden.

JSON_HEX_TAG (integer)
Alle < und > werden zu \u003C und \u003E konvertiert. Verfügbar seit PHP 5.3.0.
JSON_HEX_AMP (integer)
Alle &s werden zu \u0026 konvertiert. Verfügbar seit PHP 5.3.0.
JSON_HEX_APOS (integer)
Alle ' werden zu \u0027 konvertiert. Verfügbar seit PHP 5.3.0.
JSON_HEX_QUOT (integer)
Alle " werden zu \u0022 konvertiert. Verfügbar seit PHP 5.3.0.
JSON_FORCE_OBJECT (integer)
Gibt ein Objekt statt einem Array aus, wenn ein nichtassoziatives Array verwendet wird. Besonders nützlich, wenn der Empfänger der Ausgabe ein Objekt erwartet und das Array leer ist. Verfügbar seit PHP 5.3.0.
JSON_NUMERIC_CHECK (integer)
Kodiert numerische Zeichenketten als Zahlen. Verfügbar seit PHP 5.3.3.
JSON_PRETTY_PRINT (integer)
Nutzt Whitespace um die zurückgegebenen Daten zu formatieren. Verfügbar seit PHP 5.4.0.
JSON_UNESCAPED_SLASHES (integer)
Escape / nicht. Verfügbar seit PHP 5.4.0.
JSON_UNESCAPED_UNICODE (integer)
Kodiere Unicode Zeichen, welche aus mehreren Bytes bestehen, direkt (standardmäßig werden \uXXXX Escapes genutzt). Verfügbar seit PHP 5.4.0.
JSON_PARTIAL_OUTPUT_ON_ERROR (integer)
Ersetze einige unkodierbare Werte anstatt fehlzuschlagen. Verfügbar seit PHP 5.5.0.
JSON_PRESERVE_ZERO_FRACTION (integer)
Stellt sicher, dass float Werte immer als Fließkomma-Werte kodiert werden. Verfügbar seit PHP 5.6.6.
JSON_UNESCAPED_LINE_TERMINATORS (integer)
Die Zeilentrenner bleiben unmaskiert, wenn JSON_UNESCAPE_UNICODE übergeben wird. Das ist das gleiche Verhalten wie vor PHP 7.1 ohne diese Konstante. Verfügbar seit PHP 7.1.0.

Die folgenden Konstanten können kombiniert (verodert) werden, um Optionen für json_decode() und json_encode() zu bilden.

JSON_THROW_ON_ERROR (integer)
Wirft im Fehlerfall eine JsonException anstatt den globalen Fehlerstatus zu setzen, der mit json_last_error() abgerufen werden kann. JSON_PARTIAL_OUTPUT_ON_ERROR hat Vorrang vor JSON_THROW_ON_ERROR. Verfügbar seit PHP 7.3.0.