Files
archived-doc-pt-br/reference/json/constants.xml
2025-06-06 22:35:10 -03:00

407 lines
11 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 40e4bf862f9c23ffe871a68baebf31f753d4293b Maintainer: leonardolara Status: ready --><!-- CREDITS: felipe,leonardolara,ae -->
<appendix xml:id="json.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
&reftitle.constants;
&extension.constants;
<para>
As seguintes constantes indicam o tipo de erro retornado pela
função <function>json_last_error</function> ou armazenadas no <varname>code</varname>
de uma <classname>JsonException</classname>
</para>
<variablelist>
<varlistentry xml:id="constant.json-error-none">
<term>
<constant>JSON_ERROR_NONE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Sem erros.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-depth">
<term>
<constant>JSON_ERROR_DEPTH</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
O limite de pilha de chamadas foi ultrapassado.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-state-mismatch">
<term>
<constant>JSON_ERROR_STATE_MISMATCH</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Ocorre em underflows ou com incongruência de modos.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-ctrl-char">
<term>
<constant>JSON_ERROR_CTRL_CHAR</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Erro em caracter de controle, possivelmente erro de codificação.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-syntax">
<term>
<constant>JSON_ERROR_SYNTAX</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Erro de sintaxe.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-utf8">
<term>
<constant>JSON_ERROR_UTF8</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Caracteres UTF-8 mal formados, possivelmente erro de codificação.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-recursion">
<term>
<constant>JSON_ERROR_RECURSION</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
O objeto ou array passado para <function>json_encode</function> inclui
referências recursivas, e não pode ser formatada.
Se a opção <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> foi
informada, &null; será substituído no lugar da referência recursiva.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-inf-or-nan">
<term>
<constant>JSON_ERROR_INF_OR_NAN</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Um valor passado para <function>json_encode</function> inclui
<link linkend="language.types.float.nan"><constant>NAN</constant></link>
ou <link linkend="function.is-infinite"><constant>INF</constant></link>.
Se a opção <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> foi
informada, <literal>0</literal> será substituído no lugar do número
especial.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-unsupported-type">
<term>
<constant>JSON_ERROR_UNSUPPORTED_TYPE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Um valor de um tipo não suportado foi informado para
<function>json_encode</function>, por exemplo um &resource;.
Se a opção <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> foi
informada, &null; será substituída ao invés do valor não suportado.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-invalid-property-name">
<term>
<constant>JSON_ERROR_INVALID_PROPERTY_NAME</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Uma chave começando com caracter \u0000 estava na chave string foi passada para
<function>json_decode</function> quando decodificando um objeto JSON para um objeto
PHP.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-utf16">
<term>
<constant>JSON_ERROR_UTF16</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Substituto UTF-16 único não pareado em escape unicode contido na
string JSON passada para <function>json_decode</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-error-non-backed-enum">
<term>
<constant>JSON_ERROR_NON_BACKED_ENUM</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
O valor passado para <function>json_encode</function>
inclui uma enumeração não apoiada que não pode ser serializada.
Disponível a partir do PHP 8.1.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<para>
As constantes a seguir podem ser combinadas para formar opções na função
<function>json_decode</function>.
</para>
<variablelist>
<varlistentry xml:id="constant.json-bigint-as-string">
<term>
<constant>JSON_BIGINT_AS_STRING</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Decodifica inteiros grandes como suas strings originais.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-object-as-array">
<term>
<constant>JSON_OBJECT_AS_ARRAY</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Decodifica objetos JSON como arrays PHP. Esta opção pode ser adicionada automaticamente
quando chamando <function>json_decode</function> com o segundo parâmetro
igual a &true;.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<para>
As seguintes constantes podem ser combinadas para formar opções para a função
<function>json_encode</function>.
</para>
<variablelist>
<varlistentry xml:id="constant.json-hex-tag">
<term>
<constant>JSON_HEX_TAG</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Todos os caracteres &lt; e &gt; serão convertidos para \u003C e \u003E.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-hex-amp">
<term>
<constant>JSON_HEX_AMP</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Todos os caracteres &amp; serão convertidos para \u0026.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-hex-apos">
<term>
<constant>JSON_HEX_APOS</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Todos os caracteres ' serão convertidos para \u0027.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-hex-quot">
<term>
<constant>JSON_HEX_QUOT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Todos os caracteres " serão convertidos para \u0022.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-force-object">
<term>
<constant>JSON_FORCE_OBJECT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
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.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-numeric-check">
<term>
<constant>JSON_NUMERIC_CHECK</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Codifica strings numéricas como números.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-pretty-print">
<term>
<constant>JSON_PRETTY_PRINT</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Formata os dados retornados com espaços em branco.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-unescaped-slashes">
<term>
<constant>JSON_UNESCAPED_SLASHES</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Não escapa o caracter <literal>/</literal>.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-unescaped-unicode">
<term>
<constant>JSON_UNESCAPED_UNICODE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Codifica caracteres Unicode multibyte literalmente (default é formatar como
\uXXXX).
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-partial-output-on-error">
<term>
<constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Substitui valores não identificados ao invés de falhar.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-preserve-zero-fraction">
<term>
<constant>JSON_PRESERVE_ZERO_FRACTION</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Garante que &float; sempre são codificados como um número float.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-unescaped-line-terminators">
<term>
<constant>JSON_UNESCAPED_LINE_TERMINATORS</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Os fins de linha são preservados não escapados quando
<constant>JSON_UNESCAPED_UNICODE</constant> é informado. Este é o mesmo
comportamento existente anteriormente ao PHP 7.1 sem essa constante.
Disponível desde o PHP 7.1.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
<para>
As constantes a seguir podem ser combinadas para formar opções para a função
<function>json_decode</function> e <function>json_encode</function>.
</para>
<variablelist>
<varlistentry xml:id="constant.json-invalid-utf8-ignore">
<term>
<constant>JSON_INVALID_UTF8_IGNORE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Ignora caracteres inválidos UTF-8.
Disponível desde o 7.2.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-invalid-utf8-substitute">
<term>
<constant>JSON_INVALID_UTF8_SUBSTITUTE</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Converte caracteres inválidos UTF-8 para \0xfffd
(Caracter Unicode 'REPLACEMENT CHARACTER')
Disponível desde o 7.2.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-throw-on-error">
<term>
<constant>JSON_THROW_ON_ERROR</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
Lança um <classname>JsonException</classname> se ocorrer um erro ao invés
de carregar o erro global que pode ser obtido com
<function>json_last_error</function> e <function>json_last_error_msg</function>.
<constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> tem precedência sobre
<constant>JSON_THROW_ON_ERROR</constant>.
Disponível desde o PHP 7.3.0.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->