# Constantes predefinidas

Estas constantes están definidas por esta extensión y estarán disponibles sólo cuando la extensión haya sido compilada con PHP, o bien sea cargada dinámicamente en ejecución.

Las siguientes constantes indican el tipo de error retornado por json_last_error().

`JSON_ERROR_NONE` (integer)
  No ha ocurrido ningún error. Disponible desde PHP 5.3.0.
`JSON_ERROR_DEPTH` (integer)
  Se ha excedido la profundidad máxima de la pila. Disponible desde PHP 5.3.0.
`JSON_ERROR_STATE_MISMATCH` (integer)
  Por desbordamiento de buffer o cuando los modos no coinciden. Disponible desde PHP 5.3.0.
`JSON_ERROR_CTRL_CHAR` (integer)
  Error del carácter de control, posiblemente se ha codificado de forma incorrecta. Disponible desde PHP 5.3.0.
`JSON_ERROR_SYNTAX` (integer)
  Error de sintaxis. Disponible desde PHP 5.3.0.
`JSON_ERROR_UTF8` (integer)
  Caracteres UTF-8 mal formados, posiblemente codificados incorrectamente. Esta constante está disponible desde PHP 5.3.3.
`JSON_ERROR_RECURSION` (integer)

  El objeto o array pasado a json_encode() incluye referencias recursivas y no se puede codificar. Si se proporcionó la opción `JSON_PARTIAL_OUTPUT_ON_ERROR`, se codificará `null` en el lugar de la referencia recursiva.

  Esta constante está disponible a partir de PHP 5.5.0.

`JSON_ERROR_INF_OR_NAN` (integer)

  El valor pasado a json_encode() incluye `NAN` o `INF`. Si se proporcionó la opción `JSON_PARTIAL_OUTPUT_ON_ERROR`, se codificará `0` en el lugar de estos números especiales.

  Esta constante está disponible a partir de PHP 5.5.0.

`JSON_ERROR_UNSUPPORTED_TYPE` (integer)

  Se proporcionó un valor de un tipo no admitido para json_encode(), tal como un resource. Si se proporcionó la opción `JSON_PARTIAL_OUTPUT_ON_ERROR`, se codificará `null` en el lugar del valor no admitido.

  Esta constante está disponible a partir de PHP 5.5.0.

Las siguientes constantes se pueden combinar para obtener opciones para json_encode().

`JSON_HEX_TAG` (integer)
  Todos los < y > se convierten a \u003C y \u003E. Disponible desde PHP 5.3.0.
`JSON_HEX_AMP` (integer)
  Todos los & se convierten a \u0026. Disponible desde PHP 5.3.0.
`JSON_HEX_APOS` (integer)
  Todas las ' se convierten a \u0027. Disponible desde PHP 5.3.0.
`JSON_HEX_QUOT` (integer)
  Todas las " se convierten a \u0022. Disponible desde PHP 5.3.0.
`JSON_FORCE_OBJECT` (integer)
  Devuelve un objeto en vez de un array cuando se usa un array no asociativo. Especialmente útil cuando el destinatario del resultado espera un objeto y el array está vacío. Disponible desde PHP 5.3.0.
`JSON_NUMERIC_CHECK` (integer)
  Codifica textos numéricos como números. Disponible desde PHP 5.3.3.
`JSON_BIGINT_AS_STRING` (integer)
  Codifica integer grandes como su valor del string original. Disponible desde PHP 5.4.0.
`JSON_PRETTY_PRINT` (integer)
  Utiliza espacios en blanco para formatear los datos devueltos. Disponible desde PHP 5.4.0.
`JSON_UNESCAPED_SLASHES` (integer)
  No escapar `/`. Disponible desde PHP 5.4.0.
`JSON_UNESCAPED_UNICODE` (integer)
  Codificar caracteres Unicode multibyte literalmente (por defecto es escapado como \uXXXX). Disponible desde PHP 5.4.0.
`JSON_PARTIAL_OUTPUT_ON_ERROR` (integer)
  Sustituir algunos valores no codificables en lugar de fallar. Disponible desde PHP 5.5.0.
`JSON_PRESERVE_ZERO_FRACTION` (integer)
  Se asegura de que los valores float son siempre codificados como valores de punto flotante. Disponible desde PHP 5.6.6.