跳转到主要内容
输入输出别名

说明

在这种格式中,单个 JSON 对象会被解释为单个值。 如果输入包含多个 JSON 对象 (以逗号分隔) ,它们会被解释为不同的行。 如果输入数据用 [] 括起来,则会被解释为 JSON 对象数组。
这种格式只能解析为仅包含一个 String 类型字段的表。 其余列必须设置为 DEFAULTMATERIALIZED, 或者省略。
将整个 JSON 对象序列化为 String 后,您可以使用 JSON 函数 对其进行处理。

示例用法

基本示例

Query
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;
Response
┌─json──────────────────────────────┐
│ {"foo":{"bar":{"x":"y"},"baz":1}} │
│ {}                                │
│ {"any json stucture":1}           │
└───────────────────────────────────┘

JSON 对象数组

Query
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;
Response
┌─field──────────────────────┐
│ {"id": 1, "name": "name1"} │
│ {"id": 2, "name": "name2"} │
└────────────────────────────┘

格式设置

最后修改于 2026年6月10日