メインコンテンツへスキップ
メインコンテンツへスキップ

JSONAsString

InputOutputAlias

説明

この形式では、1つの JSON オブジェクトは1つの値として解釈されます。
入力に複数の JSON オブジェクト(カンマ区切り)が含まれている場合、それぞれが個別の行として解釈されます。
入力データが角かっこで囲まれている場合、それは JSON オブジェクトの配列として解釈されます。

注記

この形式は、型が String の1つのフィールドを持つテーブルに対してのみ解析できます。
残りの列は DEFAULT または MATERIALIZED のいずれかに設定するか、
省略する必要があります。

JSON オブジェクト全体を String にシリアライズしたら、JSON 関数 を使用して処理できます。

使用例

基本的な例

DROP TABLE IF EXISTS json_as_string;
CREATE TABLE json_as_string (json String) ENGINE = Memory;
INSERT INTO json_as_string (json) FORMAT JSONAsString {"foo":{"bar":{"x":"y"},"baz":1}},{},{"any json stucture":1}
SELECT * FROM json_as_string;
┌─json──────────────────────────────┐
│ {"foo":{"bar":{"x":"y"},"baz":1}} │
│ {}                                │
│ {"any json stucture":1}           │
└───────────────────────────────────┘

JSON オブジェクトの配列

CREATE TABLE json_square_brackets (field String) ENGINE = Memory;
INSERT INTO json_square_brackets FORMAT JSONAsString [{"id": 1, "name": "name1"}, {"id": 2, "name": "name2"}];

SELECT * FROM json_square_brackets;
┌─field──────────────────────┐
│ {"id": 1, "name": "name1"} │
│ {"id": 2, "name": "name2"} │
└────────────────────────────┘

フォーマットの設定