SunshinePHP Developer Conference 2015

Constantes pré-definidas

As contantes abaixo são definidas por esta extensão e somente estarão disponíveis quando a extensão foi compilada com o PHP ou carregada dinamicamente durante a execução.

As seguintes constantes indicam o tipo de erro retornado pela função json_last_error().

JSON_ERROR_NONE (integer)
Sem erros. Disponível desde o PHP 5.3.0.
JSON_ERROR_DEPTH (integer)
O limite de pilha de chamadas foi ultrapassado Disponível desde o PHP 5.3.0.
JSON_ERROR_STATE_MISMATCH (integer)
Ocorre em underflows ou com incongruência de modos. Disponível desde o PHP 5.3.0.
JSON_ERROR_CTRL_CHAR (integer)
Erro de controle de caracteres, possivelmente erro de enconding. Disponível desde o PHP 5.3.0.
JSON_ERROR_SYNTAX (integer)
Erro de sintaxe. Disponível desde o PHP 5.3.0.
JSON_ERROR_UTF8 (integer)
Caracteres UTF-8 mal formados, possivelmente erro de enconding. Esta constante está disponível desde o PHP 5.3.3.
JSON_ERROR_RECURSION (integer)

O objeto ou array passado para json_encode() inclui referências recursivas, e não pode ser formatada. Se a opção JSON_PARTIAL_OUTPUT_ON_ERROR foi informada, NULL será substituido no lugar da referência recursiva.

Esta constante está disponível desde o PHP 5.5.0.

JSON_ERROR_INF_OR_NAN (integer)

Um valor passado para json_encode() inclui NAN ou INF. Se a opção JSON_PARTIAL_OUTPUT_ON_ERROR foi informada, 0 será substituído no lugar do número especial.

Esta constante está disponível desde o PHP 5.5.0.

JSON_ERROR_UNSUPPORTED_TYPE (integer)

Um valor de um tipo não suportado foi informado para json_encode(), por exemplo um resource. Se a opção JSON_PARTIAL_OUTPUT_ON_ERROR foi informada, NULL será substitui ao invés do valor não suportado.

Esta constante está disponível desde o PHP 5.5.0.

As seguintes constantes podem ser combinadas para formar opções para a função json_encode().

JSON_HEX_TAG (integer)
Todos os caracteres < e > serão convertidos para \u003C and \u003E. Disponível desde o PHP 5.3.0.
JSON_HEX_AMP (integer)
Todos os caracteres & serão convertidos para \u0026. Disponível desde o PHP 5.3.0.
JSON_HEX_APOS (integer)
Todos os caracteres ' serão convertidos para \u0027. Disponível desde o PHP 5.3.0.
JSON_HEX_QUOT (integer)
Todos os caracteres " serão convertidos para \u0022. Disponível desde o PHP 5.3.0.
JSON_FORCE_OBJECT (integer)
Imprime um objeto em vez de um array quando um array não recursivo é usado. Muito útil quando o chamador espera um objeto mas o array está vazio. Disponível desde o PHP 5.3.0.
JSON_NUMERIC_CHECK (integer)
Codifica strings numéricas como números. Disponível desdee o PHP 5.3.3.
JSON_BIGINT_AS_STRING (integer)
Codifica números grandes como seu valor string original. Disponível desde o PHP 5.4.0.
JSON_PRETTY_PRINT (integer)
Formata os dados retornados com espaços em branco. Disponível desde PHP 5.4.0.
JSON_UNESCAPED_SLASHES (integer)
Não escapa o caracter /. Disponível desde o PHP 5.4.0.
JSON_UNESCAPED_UNICODE (integer)
Codifica caracteres Unicode multibyte literalmente (default é formatar como \uXXXX). Disponível desde o 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