1
0
mirror of https://github.com/php/doc-ja.git synced 2026-03-24 07:02:08 +01:00
Files
archived-doc-ja/reference/json/constants.xml
2025-04-20 18:20:35 +09:00

410 lines
12 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 40e4bf862f9c23ffe871a68baebf31f753d4293b Maintainer: takagi Status: ready -->
<!-- Credits: mumumu -->
<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> が返したり、
<classname>JsonException</classname>
<varname>code</varname> に格納されている
エラーの型を表します。
</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>
アンダーフローあるいはモードの不一致が発生しました。
</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>
<para>
<function>json_encode</function> に渡した配列やオブジェクトに再帰参照が含まれており、エンコードできません。
<constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant> オプションを指定した場合は、
再帰参照の部分を &null; にエンコードします。
</para>
</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>
JSON オブジェクトを PHP オブジェクトにデコードする際、
<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>
<function>json_decode</function> に渡された JSON 文字列の中に、
単一の、ペアになっていない UTF-16 のサロゲートコードポイントが含まれていました。
</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> に渡される値のうち、
シリアライズできなかった Backed Enum でない値を含んでいることを示します。
PHP 8.1.0 以降で使用可能です。
</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>
すべての &lt; および &gt; をそれぞれ \u003C および \u003E に変換します。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-hex-amp">
<term>
<constant>JSON_HEX_AMP</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
すべての &amp; を \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>
エンコード不可能な値は代替値に置き換え、処理を続行します。
</simpara>
</listitem>
</varlistentry>
<varlistentry xml:id="constant.json-preserve-zero-fraction">
<term>
<constant>JSON_PRESERVE_ZERO_FRACTION</constant>
(<type>int</type>)
</term>
<listitem>
<simpara>
<type>float</type> 型の値を常に 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>
<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 に変換します。
(Unicode の '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>
エラーが起きた場合、
<function>json_last_error</function>
<function>json_last_error_msg</function> 関数で収集される、
グローバルなエラー状態を設定するかわりに、
<classname>JsonException</classname> をスローします。
<constant>JSON_PARTIAL_OUTPUT_ON_ERROR</constant>
<constant>JSON_THROW_ON_ERROR</constant> よりも優先します。
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
-->