Documentación offline PHP master

Constantes predefinidas

master Ver versión oficial en línea Licencia CC-BY-3.0Descargado el 2026-08-02

En esta página

Constantes predefinidas#

Estas constantes son definidas por esta extensión, y solo están disponibles si esta extensión ha sido compilada con PHP, o bien cargada en tiempo de ejecución.

Las constantes siguientes indican el tipo de error devuelto por json_last_error o almacenado como code de una JsonException.

JSON_ERROR_NONE (int)
No se ha producido ningún error.

JSON_ERROR_DEPTH (int)
Se ha alcanzado la profundidad máxima de la pila.

JSON_ERROR_STATE_MISMATCH (int)
Ocurre con un underflow o con una inadaptación de los modos.

JSON_ERROR_CTRL_CHAR (int)
Error al controlar los caracteres, probablemente codificados incorrectamente.

JSON_ERROR_SYNTAX (int)
Error de sintaxis.

JSON_ERROR_UTF8 (int)
Caracteres UTF-8 mal formados, probablemente codificados incorrectamente.

JSON_ERROR_RECURSION (int)
El objeto o el array pasado a la función json_encode incluye referencias recursivas y no pueden ser codificadas. Si se ha proporcionado la opción JSON_PARTIAL_OUTPUT_ON_ERROR, null será codificado en lugar de la referencia recursiva.

JSON_ERROR_INF_OR_NAN (int)
El valor pasado a la función json_encode incluye NAN, o INF. Si se ha proporcionado la opción JSON_PARTIAL_OUTPUT_ON_ERROR, 0 será codificado en lugar de estos números especiales.

JSON_ERROR_UNSUPPORTED_TYPE (int)
Se ha proporcionado un valor de un tipo no soportado a la función json_encode, como por ejemplo una resource. Si se ha proporcionado la opción JSON_PARTIAL_OUTPUT_ON_ERROR, null será codificado en lugar del valor no soportado.

JSON_ERROR_INVALID_PROPERTY_NAME (int)
Una clave que comienza con el carácter \u0000 estaba presente en la cadena de caracteres pasada a json_decode durante la decodificación de un objeto JSON en un objeto PHP.

JSON_ERROR_UTF16 (int)
Sustituto UTF-16 simple no apareado en el escape unicode contenido en la cadena de caracteres JSON pasada a json_decode.

JSON_ERROR_NON_BACKED_ENUM (int)
El valor pasado a json_encode incluye una enumeración no soportada que no puede ser serializada. Disponible a partir de PHP 8.1.0.

Las constantes siguientes pueden ser combinadas para formar las opciones de json_decode.

JSON_BIGINT_AS_STRING (int)
Decodifica los enteros grandes como una cadena de caracteres.

JSON_OBJECT_AS_ARRAY (int)
Decodifica un objeto JSON en array PHP. Esta opción puede ser añadida automáticamente llamando a json_decode con el segundo argumento igual a true.

Las constantes siguientes pueden ser combinadas para formar las opciones de json_encode.

JSON_HEX_TAG (int)
Todos los caracteres \< y > son convertidos en secuencias \u003C y \u003E.

JSON_HEX_AMP (int)
Todos los caracteres & son convertidos en \u0026.

JSON_HEX_APOS (int)
Todos los apóstrofes ' son convertidos en \u0027.

JSON_HEX_QUOT (int)
Todas las comillas dobles " son convertidas en \u0022.

JSON_FORCE_OBJECT (int)
Produce un objeto en lugar de un array, cuando se utiliza un array no asociativo. Esto es especialmente útil cuando el destinatario del resultado espera un objeto, y el array está vacío.

JSON_NUMERIC_CHECK (int)
Codifica las cadenas numéricas como números.

JSON_PRETTY_PRINT (int)
Utiliza espacios en los datos devueltos para formatearlos.

JSON_UNESCAPED_SLASHES (int)
No escapar los caracteres /.

JSON_UNESCAPED_UNICODE (int)
Codifica los caracteres multioctetos Unicode literalmente (el comportamiento por defecto es escaparles con \uXXXX).

JSON_PARTIAL_OUTPUT_ON_ERROR (int)
Sustituye ciertos valores no codificables en lugar de fallar.

JSON_PRESERVE_ZERO_FRACTION (int)
Asegura que los valores de tipo float siempre sean codificados como valor flotante.

JSON_UNESCAPED_LINE_TERMINATORS (int)
Los terminadores de línea son conservados sin escapar cuando JSON_UNESCAPED_UNICODE es proporcionado. Utiliza el mismo comportamiento como si fuera antes de PHP 7.1 sin esta constante. Disponible a partir de PHP 7.1.0.

Las constantes siguientes pueden ser combinadas para formar las opciones de json_decode y json_encode.

JSON_INVALID_UTF8_IGNORE (int)
Ignora los caracteres UTF-8 inválidos. Disponible a partir de PHP 7.2.0.

JSON_INVALID_UTF8_SUBSTITUTE (int)
Convierte los caracteres UTF-8 inválidos en \0xfffd (Carácter Unicode 'REPLACEMENT CHARACTER'). Disponible a partir de PHP 7.2.0.

JSON_THROW_ON_ERROR (int)
Emite una JsonException si ocurre un error en lugar de establecer el estado de error global que es recuperado mediante json_last_error y json_last_error_msg. JSON_PARTIAL_OUTPUT_ON_ERROR tiene prioridad sobre JSON_THROW_ON_ERROR. Disponible a partir de PHP 7.3.0.