Dans ce format, un objet JSON unique est interprété comme une seule valeur.
Si l’entrée contient plusieurs objets JSON (séparés par des virgules), ils sont interprétés comme des lignes distinctes.
Si les données d’entrée sont entourées de [], elles sont interprétées comme un tableau d’objets JSON.
Ce format ne peut être analysé que pour une table comportant un seul champ de type String.
Les colonnes restantes doivent être définies avec DEFAULT ou MATERIALIZED,
ou être omises.
Une fois l’objet JSON entier sérialisé en String, vous pouvez utiliser les fonctions JSON pour le traiter.
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"} │
└────────────────────────────┘
Dernière modification le 25 juin 2026