Nesse formato, um único objeto JSON é interpretado como um único valor.
Se a entrada contiver vários objetos JSON (separados por vírgulas), eles serão interpretados como linhas distintas.
Se os dados de entrada estiverem entre [], eles serão interpretados como um array de objetos JSON.
Esse formato só pode ser analisado em uma tabela com um único campo do tipo String.
As colunas restantes devem ser definidas como DEFAULT ou MATERIALIZED,
ou podem ser omitidas.
Depois de serializar o objeto JSON inteiro como uma String, você pode usar as funções JSON para processá-lo.
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} │
└───────────────────────────────────┘
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"} │
└────────────────────────────┘
Última modificação em 10 de junho de 2026