Di MySQL, Anda dapat menggunakan JSON_OBJECT()
berfungsi untuk membuat objek JSON dari daftar pasangan kunci/nilai. Anda memberikan setiap pasangan kunci/nilai sebagai dua argumen terpisah. Setiap pasangan menjadi pasangan kunci/nilai dalam objek JSON yang dihasilkan.
Anda harus memberikan jumlah argumen yang genap (jika tidak, Anda akan memiliki pasangan yang tidak lengkap di suatu tempat dalam daftar argumen Anda).
Fungsi ini juga menerima daftar kosong (yaitu Anda tidak memberikan argumen). Dalam hal ini, Anda akan mendapatkan objek kosong.
Sintaks
Sintaksnya seperti ini:
JSON_OBJECT([key, val[, key, val] ...])
Tanda kurung siku menunjukkan argumen opsional. Oleh karena itu, cukup valid untuk menggunakan fungsi ini tanpa memberikan argumen apa pun.
Contoh 1 – Penggunaan Dasar
Berikut ini contoh untuk didemonstrasikan.
SELECT JSON_OBJECT('City', 'Cairns', 'Population', 139693) AS 'Result';
Hasil:
+------------------------------------------+ | Result | +------------------------------------------+ | {"City": "Cairns", "Population": 139693} | +------------------------------------------+
Contoh 2 – String Kosong
String kosong valid.
SELECT JSON_OBJECT('City', '', 'Population', 139693) AS 'Result';
Hasil:
+------------------------------------+ | Result | +------------------------------------+ | {"City": "", "Population": 139693} | +------------------------------------+
Ini juga berlaku untuk kunci:
SELECT JSON_OBJECT('', 'Cairns', 'Population', 139693) AS 'Result';
Hasil:
+--------------------------------------+ | Result | +--------------------------------------+ | {"": "Cairns", "Population": 139693} | +--------------------------------------+
Contoh 3 – Daftar Kosong
Daftar kosong juga valid. Ini akan menghasilkan objek JSON yang kosong.
SELECT JSON_OBJECT() AS 'Result';
Hasil:
+--------+ | Result | +--------+ | {} | +--------+
Contoh 4 – Nilai NULL
nilai bagian dari pasangan kunci/nilai dapat berisi nilai NULL.
SELECT JSON_OBJECT('City', 'Cairns', 'Population', NULL) AS 'Result';
Hasil:
+----------------------------------------+ | Result | +----------------------------------------+ | {"City": "Cairns", "Population": null} | +----------------------------------------+
Tapi kunci bagian tidak boleh berisi nilai NULL. Jika kunci memiliki nilai NULL, kesalahan akan terjadi.
SELECT JSON_OBJECT('City', 'Cairns', NULL, 139693) AS 'Result';
Hasil:
ERROR 3158 (22032): JSON documents may not contain NULL member names.