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, oder der als code einer JsonException gespeichert wurde.
-
JSON_ERROR_NONE
(Integer) - Kein Fehler aufgetreten.
-
JSON_ERROR_DEPTH
(Integer) - Die maximale Stacktiefe wurde überschritten.
-
JSON_ERROR_STATE_MISMATCH
(Integer) - Tritt ein bei Unterlauf oder State-Mismatch.
-
JSON_ERROR_CTRL_CHAR
(Integer) - Steuerzeichenfehler, möglicherweise unkorrekt kodiert.
-
JSON_ERROR_SYNTAX
(Integer) - Syntaxfehler.
-
JSON_ERROR_UTF8
(Integer) - Ungültige UTF-8 Zeichen, eventuall falsch kodiert.
-
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, wirdnull
an Stelle der rekursiven Referenz kodiert. -
JSON_ERROR_INF_OR_NAN
(Integer) -
Der an json_encode() übergebene Wert enthält entweder
NAN
oderINF
. Wenn dieJSON_PARTIAL_OUTPUT_ON_ERROR
Option übergeben wurde, wird0
an Stelle dieser speziellen Zahlen kodiert. -
JSON_ERROR_UNSUPPORTED_TYPE
(Integer) -
Der an json_encode() übergebene Wert enthält einen
nicht unterstützten Typ, beispielweise Ressource.
Wenn die
JSON_PARTIAL_OUTPUT_ON_ERROR
Option übergeben wurde, wirdnull
an Stelle des nicht unterstützten Wertes kodiert. -
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.
-
JSON_ERROR_UTF16
(Integer) - Ein einzelnes, alleinstehendes UTF-16-Surrogat war im JSON-String enthalten, der an json_decode() übergeben wurde.
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.
-
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.
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.
-
JSON_HEX_AMP
(Integer) - Alle &s werden zu \u0026 konvertiert.
-
JSON_HEX_APOS
(Integer) - Alle ' werden zu \u0027 konvertiert.
-
JSON_HEX_QUOT
(Integer) - Alle " werden zu \u0022 konvertiert.
-
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.
-
JSON_NUMERIC_CHECK
(Integer) - Kodiert numerische Zeichenketten als Zahlen.
-
JSON_PRETTY_PRINT
(Integer) - Nutzt Whitespace um die zurückgegebenen Daten zu formatieren.
-
JSON_UNESCAPED_SLASHES
(Integer) -
Escape
/
nicht. -
JSON_UNESCAPED_UNICODE
(Integer) - Kodiere Unicode Zeichen, welche aus mehreren Bytes bestehen, direkt (standardmäßig werden \uXXXX Escapes genutzt).
-
JSON_PARTIAL_OUTPUT_ON_ERROR
(Integer) - Ersetze einige unkodierbare Werte anstatt fehlzuschlagen.
-
JSON_PRESERVE_ZERO_FRACTION
(Integer) - Stellt sicher, dass Float Werte immer als Fließkomma-Werte kodiert werden.
-
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 von PHP 7.1.0 an.
Die folgenden Konstanten können kombiniert (verodert) werden, um Optionen für json_decode() und json_encode() zu bilden.
-
JSON_INVALID_UTF8_IGNORE
(Integer) - Ignoriert ungültige UTF-8 Zeichen. Verfügbar von PHP 7.2.0 an.
-
JSON_INVALID_UTF8_SUBSTITUTE
(Integer) - Konvertiert ungültige UTF-8 Zeichen in \0xfffd (Unicode Zeichen 'REPLACEMENT CHARACTER') Verfügbar von PHP 7.2.0 an.
-
JSON_THROW_ON_ERROR
(Integer) -
Wirft im Fehlerfall eine JsonException anstatt den
globalen Fehlerstatus zu setzen, der mit json_last_error()
und json_last_error_msg()
abgerufen werden kann.
JSON_PARTIAL_OUTPUT_ON_ERROR
hat Vorrang vorJSON_THROW_ON_ERROR
. Verfügbar von PHP 7.3.0 an.