# 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.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open