SunshinePHP Developer Conference 2015

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.
add a note add a note

User Contributed Notes 1 note

up
0
Yzmir Ramirez
29 days ago
If you curious of the numeric values of the constants, as of JSON 1.2.1, the constants have the following values (not that you should use the numbers directly):

JSON_HEX_TAG => 1
JSON_HEX_AMP => 2
JSON_HEX_APOS => 4
JSON_HEX_QUOT => 8
JSON_FORCE_OBJECT => 16
JSON_NUMERIC_CHECK => 32
JSON_UNESCAPED_SLASHES => 64
JSON_PRETTY_PRINT => 128
JSON_UNESCAPED_UNICODE => 256

JSON_ERROR_DEPTH => 1
JSON_ERROR_STATE_MISMATCH => 2
JSON_ERROR_CTRL_CHAR => 3

JSON_ERROR_SYNTAX => 4

JSON_ERROR_UTF8 => 5
JSON_OBJECT_AS_ARRAY => 1

JSON_BIGINT_AS_STRING => 2
To Top