Saat menggunakan MySQL, Anda dapat menggunakan JSON_VALID()
berfungsi untuk menguji apakah ekspresi string berisi JSON yang valid atau tidak.
Jika ekspresi berisi JSON yang valid, JSON_VALID()
mengembalikan 1
, jika tidak, ia akan mengembalikan 0
.
Sintaks
Sintaksnya seperti ini:
JSON_VALID(val)
Dimana val
adalah nilai yang Anda uji untuk JSON yang valid.
Contoh 1 – JSON yang Valid
Berikut adalah contoh untuk menunjukkan apa yang terjadi ketika string berisi JSON yang valid.
SELECT JSON_VALID('{"Name": "Bart"}') AS Result;
Hasil:
+--------+ | Result | +--------+ | 1 | +--------+
Contoh 2 – JSON tidak valid
Berikut adalah contoh untuk menunjukkan apa yang terjadi ketika string tidak berisi JSON yang valid.
SELECT JSON_VALID('Name: Bart') AS Result;
Hasil:
+--------+ | Result | +--------+ | 0 | +--------+
Contoh 3 – Contoh Basis Data
Dalam kueri basis data ini, hasilnya hanya dikembalikan di mana Collections.Contents
kolom berisi JSON yang valid.
Kolom khusus ini menggunakan tipe data json
untuk menyimpan dokumen JSON.
SELECT Contents FROM Collections WHERE JSON_VALID(Contents) = 1;
Hasil:
+------------+ | Contents | |------------| | [ { "ArtistName": "AC/DC", "Albums": [ { "AlbumName": "Powerage" } ] }, { "ArtistName": "Devin Townsend", "Albums": [ { "AlbumName": "Ziltoid the Omniscient" }, { "AlbumName": "Casualties of Cool" }, { "AlbumName": "Epicloud" } ] }, { "ArtistName": "Iron Maiden", "Albums": [ { "AlbumName": "Powerslave" }, { "AlbumName": "Somewhere in Time" }, { "AlbumName": "Piece of Mind" }, { "AlbumName": "Killers" }, { "AlbumName": "No Prayer for the Dying" } ] } ] | +------------+
Inilah yang terjadi jika kita mengubah pernyataan untuk mengembalikan data hanya jika isn't
JSON yang valid.
SELECT Contents FROM Collections WHERE JSON_VALID(Contents) = 0;
Hasil:
Empty set (0.00 sec)