في هذا التنسيق، يُفسَّر كائن JSON واحد باعتباره قيمة JSON واحدة. وإذا كان الإدخال يحتوي على عدة كائنات JSON (مفصولة بفواصل)، فتُفسَّر على أنها صفوف منفصلة. وإذا كانت بيانات الإدخال محاطة بـ []، فتُفسَّر على أنها مصفوفة من قيم JSON.
لا يمكن تحليل هذا التنسيق إلا لجدول يحتوي على حقل واحد من النوع JSON. ويجب تعيين الأعمدة المتبقية إلى DEFAULT أو MATERIALIZED.
CREATE TABLE json_as_object (json JSON) ENGINE = Memory;
INSERT INTO json_as_object (json) FORMAT JSONAsObject {"foo":{"bar":{"x":"y"},"baz":1}},{},{"any json stucture":1}
SELECT * FROM json_as_object FORMAT JSONEachRow;
{"json":{"foo":{"bar":{"x":"y"},"baz":"1"}}}
{"json":{}}
{"json":{"any json stucture":"1"}}
CREATE TABLE json_square_brackets (field JSON) ENGINE = Memory;
INSERT INTO json_square_brackets FORMAT JSONAsObject [{"id": 1, "name": "name1"}, {"id": 2, "name": "name2"}];
SELECT * FROM json_square_brackets FORMAT JSONEachRow;
{"field":{"id":"1","name":"name1"}}
{"field":{"id":"2","name":"name2"}}
الأعمدة ذات القيم الافتراضية
CREATE TABLE json_as_object (json JSON, time DateTime MATERIALIZED now()) ENGINE = Memory;
INSERT INTO json_as_object (json) FORMAT JSONAsObject {"foo":{"bar":{"x":"y"},"baz":1}};
INSERT INTO json_as_object (json) FORMAT JSONAsObject {};
INSERT INTO json_as_object (json) FORMAT JSONAsObject {"any json stucture":1}
SELECT time, json FROM json_as_object FORMAT JSONEachRow
{"time":"2024-09-16 12:18:10","json":{}}
{"time":"2024-09-16 12:18:13","json":{"any json stucture":"1"}}
{"time":"2024-09-16 12:18:08","json":{"foo":{"bar":{"x":"y"},"baz":"1"}}}
آخر تعديل في ٢٥ يونيو ٢٠٢٦