JSON プロシジャ

WRITE VALUES ステートメント

1つ以上の値をJSON出力ファイルに書き込みます。

別名:W V
操作:WRITE VALUESステートメントがPROC JSONステートメントの後の最初のステートメントである場合、PROC JSONによってJSONオブジェクトが最上位コンテナーとして開かれます。PROC JSONは、黙示的に開かれた最上位コンテナーを自動的に閉じます。
1つのWRITE VALUESステートメント内に複数の値を指定することは、複数のWRITE VALUESステートメントをそれぞれ1つの値のみを指定してサブミットすることに相当します。値の順番のみが重要です。
参照項目:JSON出力ファイルへの値の書き込み
同じプログラム内での値の書き込みとデータのエクスポート
エクスポートされたデータへの値の書き込みとコンテナーの制御

構文

WRITE VALUESvalue(s) < /options>;

オプション引数の要約

SCAN | NOSCAN

受け入れ可能な文字のみがJSON出力にエクスポートされることを保証するため、PROC JSONが入力文字列をスキャンしてエンコードするかどうかを指定します。

TRIMBLANKS | NOTRIMBLANKS

JSON出力内の文字データの最後で末尾のブランクを削除または保持するかどうかを決定します。

必須引数

value(s)

1つ以上の値をJSON出力ファイルに書き込むよう指定します。値は空白スペースで区切ります。 値は次のうちいずれかになります。

  • 文字列。文字列が引用符で囲まれる場合、コンテンツまたは長さに関して制約はありません。ただし、文字列が引用符で囲まれない場合、次の規則が適用されます。
    • 文字列の最大長は256バイトです。
    • 最初の文字はラテンアルファベット(A–Z、a–z)またはアンダースコアで始める必要があります。開始文字以外には、英字、数字、アンダースコアを使用できます。
    • 文字列にはアンダースコア以外のブランクや特殊文字を含めることができません。文字列には大文字と小文字を両方使用できます。
    注: 文字列は、単一引用符または二重引用符で囲むことができます。
  • numberは整数、浮動小数、または指数関数形式で表されます。
  • ブール値TRUE | TまたはFALSE | F.
  • NULL | N.

たとえば、ステートメントwrite values "success" true;によって、次の結果がJSON出力ファイルに書き込まれます。

  • "success":true現在のコンテナーがJSONオブジェクトの場合
  • “success”, true現在のコンテナーがJSON配列の場合
要件JSONオブジェクトコンテナーに値を書き込む際、キーと値のペアのキー部分は文字列にする必要があります。たとえば、write values "abcd" "1";というステートメントが適切です。ただし、ステートメントwrite values 1 "abcd";ではエラーが発生します。

スラッシュ区切り文字の後に使用するオプション

SCAN | NOSCAN

受け入れ可能な文字のみがJSON出力にエクスポートされることを保証するため、PROC JSONが入力文字列をスキャンしてエンコードするかどうかを指定します。

デフォルトSCAN
操作NOSCANは、入力文字列に受け入れ可能なJSONテキストが含まれるか、またはすでにスキャン済みと認識されるように指定します。NOSCANが有効な場合、入力文字列または文字値はそのまま取得され、出力JSON文字列は 引用符で囲まれます。
SCAN | NOSCANは、PROC JSONステートメント、EXPORTステートメント、WRITE VALUESステートメント、あるいは3つのステートメント全部で指定できます。複数のステートメントでこのオプションが指定されている場合、EXPORTステートメントの指定が優先されます。
参照項目:入力文字列のスキャン

TRIMBLANKS | NOTRIMBLANKS

JSON出力内の文字データの最後で末尾のブランクを削除または保持するかどうかを決定します。 スペース文字のみ削除されます。

デフォルトTRIMBLANKS
操作TRIMBLANKS | NOTRIMBLANKS は、PROC JSONステートメント、EXPORTステートメント、WRITE VALUESステートメント、あるいは3つのステートメント全部で指定できます。複数のステートメントでこのオプションが指定されている場合、EXPORTステートメントの指定が優先されます。
最終更新: 2026年9月18日