JSON 生成プロセスでは、identifier-2 内にある適格な各基本データ項目が、抑制されていない限り文字フォーマットに変換されます。各記憶領域の最初の定義のみが処理されます。
次の基本データ項目は対象外です。
基本データのフォーマット変換については、「付録 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 テキストではバイト順マークは生成されません。