Di MySQL, JSON_TYPE()
fungsi mengembalikan jenis nilai JSON. Lebih khusus lagi, ini mengembalikan utf8mb4
string yang menunjukkan jenis nilai.
Anda memberikan nilai JSON sebagai argumen.
Sintaks
Sintaksnya seperti ini:
JSON_TYPE(json_val)
Dimana json_val
adalah nilai JSON untuk mengembalikan jenisnya. Ini bisa berupa objek, larik, atau tipe skalar.
Contoh 1 – Objek
Berikut adalah contoh ketika nilai adalah sebuah objek.
SET @data = '{"Name": "Homer", "Stupid": true}'; SELECT JSON_TYPE(@data) 'JSON Type';
Hasil:
+-----------+ | JSON Type | +-----------+ | OBJECT | +-----------+
Contoh 2 – Larik
Berikut adalah contoh array.
SET @data = '[1, 2, 3]'; SELECT JSON_TYPE(@data) 'JSON Type';
Hasil:
+-----------+ | JSON Type | +-----------+ | ARRAY | +-----------+
Contoh 3 – Ekstrak Data dari Array
Anda juga bisa mendapatkan jenis elemen individual dalam array.
SET @data = '[1, 2, 3]'; SELECT JSON_EXTRACT(@data, '$[1]') 'Data', JSON_TYPE(JSON_EXTRACT(@data, '$[1]')) 'JSON Type';
Hasil:
+------+-----------+ | Data | JSON Type | +------+-----------+ | 2 | INTEGER | +------+-----------+
Contoh 4 – Mengekstrak Data dari Objek
Hal yang sama berlaku untuk anggota suatu objek.
SET @data = '{"Name": "Homer", "Stupid": "True"}'; SELECT JSON_EXTRACT(@data, '$.Stupid') 'Data', JSON_TYPE(JSON_EXTRACT(@data, '$.Stupid')) 'JSON Type';
Hasil:
+--------+-----------+ | Data | JSON Type | +--------+-----------+ | "True" | STRING | +--------+-----------+
Dalam hal ini, nilainya adalah string literal "True"
.
Ini contoh lain, tapi kali ini menggunakan nilai boolean true
.
SET @data = '{"Name": "Homer", "Stupid": true}'; SELECT JSON_EXTRACT(@data, '$.Stupid') 'Data', JSON_TYPE(JSON_EXTRACT(@data, '$.Stupid')) 'JSON Type';
Hasil:
+------+-----------+ | Data | JSON Type | +------+-----------+ | true | BOOLEAN | +------+-----------+
Contoh 5 – Kueri Basis Data
Contoh ini menggunakan kolom database.
SELECT Contents, JSON_TYPE(Contents) 'Contents', JSON_TYPE(JSON_EXTRACT(Contents, '$.Name')) 'Name' FROM Collections WHERE CollectionId = 4;
Hasil:
+--------------------------------+----------+--------+ | Contents | Contents | Name | +--------------------------------+----------+--------+ | {"Name": "Homer", "Stupid": 1} | OBJECT | STRING | +--------------------------------+----------+--------+