Saat menggunakan SQL Server, Anda dapat menggunakan ISJSON()
berfungsi untuk menguji apakah ekspresi string berisi JSON yang valid atau tidak.
Jika ekspresi berisi JSON yang valid, ISJSON()
mengembalikan 1
, jika tidak, ia akan mengembalikan 0
.
Sintaks
Sintaksnya seperti ini:
ISJSON ( expression )
Dimana expression
adalah ekspresi string 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 ISJSON('{"Name": "Bob"}') 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 ISJSON('Name: Bob') AS Result;
Hasil:
+----------+ | Result | |----------| | 0 | +----------+
Contoh 3 – Pernyataan Bersyarat
Berikut adalah pernyataan kondisional dasar yang menampilkan hasil berbeda, bergantung pada apakah string berisi JSON atau tidak.
DECLARE @data nvarchar(255); SET @data = '{"Name": "Bob"}'; IF (ISJSON(@data) > 0) SELECT 'Valid JSON' AS 'Result'; ELSE SELECT 'Invalid JSON' AS 'Result';
Hasil:
+------------+ | Result | |------------| | Valid JSON | +------------+
Contoh 4 – 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 nvarchar(4000)
untuk menyimpan dokumen JSON.
SELECT Contents FROM Collections WHERE ISJSON(Contents) > 0;
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" } ] } ] | +------------+