mirror of
https://github.com/php/doc-ru.git
synced 2026-03-25 16:22:18 +01:00
408 lines
14 KiB
XML
408 lines
14 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 02b1d42099b98f45609d49fde36d10893ad0a314 Maintainer: irker Status: ready -->
|
||
<!-- Reviewed: no -->
|
||
<appendix xml:id="json.constants" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
&reftitle.constants;
|
||
&extension.constants;
|
||
<para>
|
||
Следующие константы указывают на тип ошибки, которую возвращает функция
|
||
<function>json_last_error</function> или которая хранится в свойстве <varname>code</varname>
|
||
объекта исключения <classname>JsonException</classname>.
|
||
</para>
|
||
<variablelist>
|
||
<varlistentry xml:id="constant.json-error-none">
|
||
<term>
|
||
<constant>JSON_ERROR_NONE</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Не произошло никаких ошибок.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-error-depth">
|
||
<term>
|
||
<constant>JSON_ERROR_DEPTH</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Была превышена максимальная глубина стека.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-error-state-mismatch">
|
||
<term>
|
||
<constant>JSON_ERROR_STATE_MISMATCH</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Неверный или повреждённый JSON.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-error-ctrl-char">
|
||
<term>
|
||
<constant>JSON_ERROR_CTRL_CHAR</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Ошибка управляющих символов, вероятно, из-за неверного кодирования.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-error-syntax">
|
||
<term>
|
||
<constant>JSON_ERROR_SYNTAX</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Синтаксическая ошибка.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-error-utf8">
|
||
<term>
|
||
<constant>JSON_ERROR_UTF8</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Повреждённые символы UTF-8, вероятно, из-за неверного кодирования.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-error-recursion">
|
||
<term>
|
||
<constant>JSON_ERROR_RECURSION</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Объект или массив, переданный в функцию <function>json_encode</function> включает
|
||
рекурсивные ссылки и не может быть закодирован.
|
||
Если была передана опция <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant>, то
|
||
на месте рекурсивных ссылок будет выведен &null;.
|
||
</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>
|
||
Значение, переданное в функцию <function>json_encode</function>, включает либо
|
||
<link linkend="language.types.float.nan"><constant>NAN</constant></link>,
|
||
либо <link linkend="function.is-infinite"><constant>INF</constant></link>.
|
||
Если была указана константа <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant>,
|
||
то вместо указанных особых значений будет выведен <literal>0</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-error-unsupported-type">
|
||
<term>
|
||
<constant>JSON_ERROR_UNSUPPORTED_TYPE</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
В функцию <function>json_encode</function> было передано значение
|
||
неподдерживаемого типа, например, &resource;.
|
||
Если была указана константа <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant>,
|
||
то вместо неподдерживаемого значения будет выводиться &null;.
|
||
</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>
|
||
В строке переданной в <function>json_decode</function> был ключ, начинающийся с
|
||
символа \u0000.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-error-utf16">
|
||
<term>
|
||
<constant>JSON_ERROR_UTF16</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Один непарный суррогат UTF-16 в экранированной последовательности Unicode в
|
||
строке JSON, переданной в <function>json_decode</function>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>
|
||
Можно комбинировать следующие константы для передачи в
|
||
<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>
|
||
Декодирует большие целые числа в качестве исходного значения строки.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-object-as-array">
|
||
<term>
|
||
<constant>JSON_OBJECT_AS_ARRAY</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Преобразовывает объекты JSON в массив PHP. Эта опция может быть задана автоматически,
|
||
если вызвать функцию <function>json_decode</function>, указав вторым параметром значение &true;.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>
|
||
Следующие константы можно комбинировать для использования в
|
||
<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>
|
||
Все < и > кодируются в \u003C и \u003E.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-hex-amp">
|
||
<term>
|
||
<constant>JSON_HEX_AMP</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Все & кодируются в \u0026.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-hex-apos">
|
||
<term>
|
||
<constant>JSON_HEX_APOS</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Все символы ' кодируются в \u0027.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-hex-quot">
|
||
<term>
|
||
<constant>JSON_HEX_QUOT</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Все символы " кодируются в \u0022.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-force-object">
|
||
<term>
|
||
<constant>JSON_FORCE_OBJECT</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Выдавать объект вместо массива при использовании неассоциативного
|
||
массива. Это полезно, когда принимающая программа или код ожидают
|
||
объект, а массив пуст.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-numeric-check">
|
||
<term>
|
||
<constant>JSON_NUMERIC_CHECK</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Кодирование строк, содержащих числа, как
|
||
числа.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-pretty-print">
|
||
<term>
|
||
<constant>JSON_PRETTY_PRINT</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Использовать пробельные символы в возвращаемых данных
|
||
для их форматирования.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-unescaped-slashes">
|
||
<term>
|
||
<constant>JSON_UNESCAPED_SLASHES</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Не экранировать <literal>/</literal>.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-unescaped-unicode">
|
||
<term>
|
||
<constant>JSON_UNESCAPED_UNICODE</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Не кодировать многобайтовые символы Unicode (по умолчанию они кодируются как \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>
|
||
Позволяет избежать возникновения ошибок при использовании функции
|
||
json_encode. Осуществляет подстановку значений
|
||
по умолчанию вместо некодируемых.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-preserve-zero-fraction">
|
||
<term>
|
||
<constant>JSON_PRESERVE_ZERO_FRACTION</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Гарантирует, что значение типа &float; будет преобразовано
|
||
именно в значение типа float в случае, если дробная часть равна 0.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry xml:id="constant.json-unescaped-line-terminators">
|
||
<term>
|
||
<constant>JSON_UNESCAPED_LINE_TERMINATORS</constant>
|
||
(<type>int</type>)
|
||
</term>
|
||
<listitem>
|
||
<simpara>
|
||
Символы конца строки не будут экранироваться, если задана константа
|
||
<constant>JSON_UNESCAPED_UNICODE</constant>. Поведение будет таким же,
|
||
какое оно было до PHP 7.1 без этой константы.
|
||
Доступна с PHP 7.1.0.
|
||
</simpara>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
|
||
<para>
|
||
Следующие константы можно комбинировать для использования в <function>json_decode</function>
|
||
и <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>
|
||
Игнорировать некорректные символы UTF-8.
|
||
Доступна с PHP 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>
|
||
Преобразовывать некорректные символы кодировки UTF-8 в \0xfffd
|
||
(Символ Юникода REPLACEMENT CHARACTER)
|
||
Доступна с PHP 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>
|
||
Выбрасывается исключение <classname>JsonException</classname>, если возникла ошибка, вместо
|
||
установки глобального состояния ошибки, которое может быть получено функциями
|
||
<function>json_last_error</function> и <function>json_last_error_msg</function>.
|
||
Константа <constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> имеет приоритет над
|
||
<constant>JSON_THROW_ON_ERROR</constant>. Доступна с PHP 7.3.0.
|
||
</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>
|
||
Аргумент функции <function>json_encode</function>
|
||
содержит нетипизированное перечисление, которое нельзя сериализовать.
|
||
Доступна с PHP 8.1.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
|
||
-->
|