メインコンテンツまでスキップ
メインコンテンツまでスキップ

JSONAsString

InputOutputAlias

説明

このフォーマットでは、単一のJSONオブジェクトが単一の値として解釈されます。 入力に複数のJSONオブジェクト(コンマで区切られている場合)が含まれている場合、それらは別々の行として解釈されます。 入力データが角括弧で囲まれている場合、それはJSONオブジェクトの配列として解釈されます。

注記

このフォーマットは、タイプが String の単一フィールドを持つテーブルでのみ解析できます。 残りのカラムは、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"} │
└────────────────────────────┘

フォーマット設定