JSON
PHP Manual

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 em caracter de controle, 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.
JSON_PARTIAL_OUTPUT_ON_ERROR (integer)
Substitui valores não identificados ao invés de falhar. Disponível desde PHP 5.5.0.
JSON_PRESERVE_ZERO_FRACTION (integer)
Garante que float sempre são codificados como ponto decimal. Disponível desde o PHP 5.6.6.

JSON
PHP Manual