JSON
| Input | Output | Alias |
|---|---|---|
| ✔ | ✔ |
説明
JSONフォーマットは、データをJSON形式で読み込み、出力します。
JSONフォーマットは以下を返します:
| パラメータ | 説明 |
|---|---|
meta | カラム名とタイプ。 |
data | データテーブル |
rows | 出力行の合計数。 |
rows_before_limit_at_least | LIMITなしであった場合の行数の下限推定。クエリがLIMITを含む場合にのみ出力されます。この推定は、制限変換前のクエリパイプラインで処理されたデータブロックから計算されますが、その後制限変換によって破棄されることがあります。クエリパイプラインでブロックが制限変換に到達しなかった場合、それらは推定に参加しません。 |
statistics | elapsed、rows_read、bytes_readなどの統計。 |
totals | 総値(WITH TOTALSを使用している場合)。 |
extremes | 極値(extremesが1に設定されている場合)。 |
JSONタイプはJavaScriptと互換性があります。これを確保するために、一部の文字は追加でエスケープされます:
- スラッシュ
/は\/としてエスケープされます。 - 一部のブラウザで破損する代替行の改行
U+2028とU+2029は、\uXXXXとしてエスケープされます。 - ASCII制御文字はエスケープされます:バックスペース、フォームフィード、ラインフィード、キャリッジリターン、そして水平タブはそれぞれ
\b、\f、\n、\r、\tで置き換えられ、残りの00-1F範囲のバイトも\uXXXXシーケンスを使用してエスケープされます。 - 無効なUTF-8シーケンスは置換文字�に変更され、出力テキストは有効なUTF-8シーケンスで構成されます。
JavaScriptとの互換性のために、Int64およびUInt64整数はデフォルトで二重引用符で囲まれます。
引用符を除去するには、設定パラメーターoutput_format_json_quote_64bit_integersを0に設定します。
ClickHouseはNULLをサポートしており、JSON出力ではnullとして表示されます。出力に+nan、-nan、+inf、-inf値を有効にするには、output_format_json_quote_denormalsを1に設定します。
使用例
例:
フォーマット設定
JSON入力フォーマットについて、input_format_json_validate_types_from_metadataが1に設定されている場合、入力データのメタデータにあるタイプが、テーブルの対応するカラムのタイプと比較されます。