# Constantes predefinidas

As constantes abaixo são definidas por esta extensão e só estarão disponíveis quando a extensão tiver sido compilada no PHP ou tiver sido carregada dinamicamente em tempo de execução.

As seguintes constantes indicam o tipo de erro retornado pela função json_last_error() ou armazenadas no code de uma JsonException

`JSON_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.

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open