&reftitle.constants;
&extension.constants;
As seguintes constantes indicam o tipo de erro retornado pela
função json_last_error ou armazenadas no code
de uma JsonExceptionJSON_ERROR_NONE
(int)
Sem erros.
JSON_ERROR_DEPTH
(int)
O limite de pilha de chamadas foi ultrapassado.
JSON_ERROR_STATE_MISMATCH
(int)
Ocorre em underflows ou com incongruência de modos.
JSON_ERROR_CTRL_CHAR
(int)
Erro em caracter de controle, possivelmente erro de codificação.
JSON_ERROR_SYNTAX
(int)
Erro de sintaxe.
JSON_ERROR_UTF8
(int)
Caracteres UTF-8 mal formados, possivelmente erro de codificação.
JSON_ERROR_RECURSION
(int)
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á substituído no lugar da referência recursiva.
JSON_ERROR_INF_OR_NAN
(int)
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.
JSON_ERROR_UNSUPPORTED_TYPE
(int)
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á substituída ao invés do valor não suportado.
JSON_ERROR_INVALID_PROPERTY_NAME
(int)
Uma chave começando com caracter \u0000 estava na chave string foi passada para
json_decode quando decodificando um objeto JSON para um objeto
PHP.
JSON_ERROR_UTF16
(int)
Substituto UTF-16 único não pareado em escape unicode contido na
string JSON passada para json_decode.
JSON_ERROR_NON_BACKED_ENUM
(int)
O valor passado para json_encode
inclui uma enumeração não apoiada que não pode ser serializada.
Disponível a partir do PHP 8.1.0.
As constantes a seguir podem ser combinadas para formar opções na função
json_decode.
JSON_BIGINT_AS_STRING
(int)
Decodifica inteiros grandes como suas strings originais.
JSON_OBJECT_AS_ARRAY
(int)
Decodifica objetos JSON como arrays PHP. Esta opção pode ser adicionada automaticamente
quando chamando json_decode com o segundo parâmetro
igual a &true;.
As seguintes constantes podem ser combinadas para formar opções para a função
json_encode.
JSON_HEX_TAG
(int)
Todos os caracteres < e > serão convertidos para \u003C e \u003E.
JSON_HEX_AMP
(int)
Todos os caracteres & serão convertidos para \u0026.
JSON_HEX_APOS
(int)
Todos os caracteres ' serão convertidos para \u0027.
JSON_HEX_QUOT
(int)
Todos os caracteres " serão convertidos para \u0022.
JSON_FORCE_OBJECT
(int)
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.
JSON_NUMERIC_CHECK
(int)
Codifica strings numéricas como números.
JSON_PRETTY_PRINT
(int)
Formata os dados retornados com espaços em branco.
JSON_UNESCAPED_SLASHES
(int)
Não escapa o caracter /.
JSON_UNESCAPED_UNICODE
(int)
Codifica caracteres Unicode multibyte literalmente (default é formatar como
\uXXXX).
JSON_PARTIAL_OUTPUT_ON_ERROR
(int)
Substitui valores não identificados ao invés de falhar.
JSON_PRESERVE_ZERO_FRACTION
(int)
Garante que &float; sempre são codificados como um número float.
JSON_UNESCAPED_LINE_TERMINATORS
(int)
Os fins de linha são preservados não escapados quando
JSON_UNESCAPED_UNICODE é informado. Este é o mesmo
comportamento existente anteriormente ao PHP 7.1 sem essa constante.
Disponível desde o PHP 7.1.0.
As constantes a seguir podem ser combinadas para formar opções para a função
json_decode e json_encode.
JSON_INVALID_UTF8_IGNORE
(int)
Ignora caracteres inválidos UTF-8.
Disponível desde o 7.2.0.
JSON_INVALID_UTF8_SUBSTITUTE
(int)
Converte caracteres inválidos UTF-8 para \0xfffd
(Caracter Unicode 'REPLACEMENT CHARACTER')
Disponível desde o 7.2.0.
JSON_THROW_ON_ERROR
(int)
Lança um JsonException se ocorrer um erro ao invés
de carregar o erro global que pode ser obtido com
json_last_error e json_last_error_msg.
JSON_PARTIAL_OUTPUT_ON_ERROR tem precedência sobre
JSON_THROW_ON_ERROR.
Disponível desde o PHP 7.3.0.