&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 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.