Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Berlaku untuk: SQL Server 2016 (13.x) dan versi yang
lebih baru Azure SQL Database
Azure SQL Managed Instance
Titik akhir analitik SQL
Azure Synapse Analytics di Microsoft Fabric
Warehouse dalam database Microsoft Fabric
SQL di Microsoft Fabric
Sintaks ISJSON menguji apakah string berisi JSON yang valid.
Syntax
ISJSON ( expression [, json_type_constraint] )
Arguments
expression
String yang akan diuji.
json_type_constraint
Menentukan jenis JSON untuk memeriksa input. Nilai yang valid adalah VALUE, ARRAY, OBJECT, atau SCALAR. Diperkenalkan di SQL Server 2022 (16.x).
Note
Argumen json_type_constraint tidak didukung di kumpulan Khusus Azure Synapse Analytics
Mengembalikan nilai
Mengembalikan 1 jika string berisi JSON yang valid; jika tidak, mengembalikan 0. Mengembalikan NULL jika ekspresi null.
Jika pernyataan menghilangkan json_type_constraint, fungsi menguji apakah input adalah objek atau array JSON yang valid dan mengembalikan 1 sebaliknya, ia mengembalikan 0.
Jika json_type_constraint ditentukan, fungsi akan memeriksa jenis JSON sebagai berikut:
| Value | Description |
|---|---|
VALUE |
Pengujian untuk nilai JSON yang valid. Ini bisa berupa objek JSON, array, angka, string atau salah satu dari tiga nilai harfiah (false, true, null) |
ARRAY |
Pengujian untuk array JSON yang valid |
OBJECT |
Pengujian untuk objek JSON yang valid |
SCALAR |
Pengujian untuk skalar JSON yang valid – angka atau string |
Nilai ini SCALAR menguji dokumen JSON yang hanya berisi nilai skalar JSON di tingkat atas. IETF RFC 8259 mengizinkan nilai JSON apa pun pada tingkat teratas, jadi gunakan VALUE untuk menguji dokumen JSON yang sesuai dengan IETF RFC 8259. IETF RFC 4627 hanya mengizinkan objek atau array JSON pada tingkat atas.
Tidak mengembalikan kesalahan.
Remarks
ISJSON tidak memeriksa keunikan kunci pada tingkat yang sama.
Examples
Contoh 1
Contoh berikut menjalankan blok pernyataan secara kondisional jika nilai @param parameter berisi JSON yang valid.
DECLARE @param <data type>
SET @param = <value>
IF (ISJSON(@param) > 0)
BEGIN
-- Do something with the valid JSON value of @param.
END
Contoh 2
Contoh berikut mengembalikan baris di mana kolom json_col berisi JSON yang valid.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col) = 1
Contoh 3
Contoh berikut mengembalikan baris di mana kolom json_col berisi nilai JSON SCALAR yang valid di tingkat atas.
SELECT id, json_col
FROM tab1
WHERE ISJSON(json_col, SCALAR) = 1
Contoh 4
Contoh berikut mengembalikan 1 karena input adalah nilai JSON yang valid - true.
SELECT ISJSON('true', VALUE)
Contoh 5
Contoh berikut mengembalikan 0 karena input adalah nilai JSON yang tidak valid.
SELECT ISJSON('test string', VALUE)
Contoh 6
Contoh berikut mengembalikan 1 karena input adalah skalar JSON yang valid sesuai dengan RFC 8259.
SELECT ISJSON('"test string"', SCALAR)