付録 B - JSON 出力テキスト

JSON 生成プロセスでは、identifier-2 内にある適格な各基本データ項目が、抑制されていない限り文字フォーマットに変換されます。各記憶領域の最初の定義のみが処理されます。

次の基本データ項目は対象外です。

  • 再定義されたデータ項目
  • RENAMES 句で定義された日付項目
  • オカレンスがゼロのテーブル項目
    注: オカレンスがゼロの 1 つ以上のテーブルが包含グループ (隣接した上位のグループ) 内で唯一の下位データ項目である場合、包含グループ項目は特殊な値 null を持つ JSON テキストに含まれます。

基本データのフォーマット変換については、「付録 D - 基本データのフォーマット変換」および「付録 E - 生成された JSON データのトリミング」を参照してください。JSON 名は、指定されている場合は NAME 指定から取得されます。指定されていない場合は、「付録 E - JSON 名の形成」で説明されているように、デフォルトで identifier-2 内のデータ名から付けられます。

選択した基本の項目を含んでいるグループ項目の名前は、親 JSON オブジェクトの名前として維持されます。

生成された JSON テキストを読みやすくするための余分な余白 (新たな行、改行など) は挿入されません。

identifier-1 (ターゲット領域) の大きさが生成後の JSON テキストを格納するのに十分でない場合は、例外条件が発生します。例外発生時の処理を制御するには、ON EXCEPTION 指定を使用します。詳細については、「JSON GENERATE 文」を参照してください。

identifier-1 が JSON テキストより大きい場合、JSON テキストのサイズを超える既存のデータは、JSON GENERATE 文の実行後も identifier-1 に残ります。そのデータへの参照を避けるには、identifier-1 を JSON GENERATE 文の前のスペースに初期化するか、または COUNT 指定を記述します。

COUNT 指定を使用した場合、JSON GENERATE 文の正常な実行後に、生成された文字位置 (UTF-16 エンコーディング ユニットまたはバイト) の総数が identifier-3 に格納されます。この値を、生成された JSON テキストを含む identifier-2 の部分を参照する部分参照の長さフィールドとして使用します。

JSON GENERATE 文の実行後、特殊レジスタ JSON-CODE には、正常終了を示すゼロまたはゼロ以外の例外コードが格納されます。詳細については、「JSON-CODE 例外コード」を参照してください。

JSON テキストではバイト順マークは生成されません。