格式JSONJSONAsStringJSONAsString输入输出别名✔✗ 描述 在这种格式中,单个 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"} │ └────────────────────────────┘ 格式设置