JSON_OBJECT (Transact-SQL)

Berlaku untuk: SQL Server 2022 (16.x) Azure SQL DatabaseAzure SQL Managed Instance

Membuat teks objek JSON dari nol atau lebih ekspresi.

Sintaks

JSON_OBJECT ( [ <json_key_value> [,...n] ] [ json_null_clause ] )

<json_key_value> ::= json_key_name : value_expression

<json_null_clause> ::=
	  NULL ON NULL
	| ABSENT ON NULL

Argumen

json_key_name Adalah ekspresi karakter yang menentukan nilai nama kunci JSON.

value_expression Adalah ekspresi yang menentukan nilai kunci JSON.

json_null_clause dapat digunakan untuk mengontrol perilaku fungsi JSON_OBJECT saat value_expression NULL. Opsi NULL ON NULL mengonversi nilai SQL NULL menjadi nilai null JSON saat menghasilkan nilai kunci JSON. Opsi ABSENT ON NULL akan menghilangkan seluruh kunci jika nilainya NULL. Pengaturan default untuk opsi ini adalah NULL ON NULL.

Untuk informasi selengkapnya tentang apa yang Anda lihat di output JSON_OBJECT fungsi, lihat artikel berikut ini:

Nilai kembali

Mengembalikan string objek JSON yang valid dari jenis nvarchar(max).

Keterangan

Contoh

Contoh 1

Contoh berikut mengembalikan objek JSON kosong.

SELECT JSON_OBJECT();

Hasil

{}

Contoh 2

Contoh berikut mengembalikan objek JSON dengan dua kunci.

SELECT JSON_OBJECT('name':'value', 'type':1)

Hasil

{"name":"value","type":1}

Contoh: 3

Contoh berikut mengembalikan objek JSON dengan satu kunci karena nilai untuk salah satu kunci adalah NULL dan opsi ABSENT ON NULL ditentukan.

SELECT JSON_OBJECT('name':'value', 'type':NULL ABSENT ON NULL)

Hasil

{"name":"value"}

Contoh 4

Contoh berikut mengembalikan objek JSON dengan dua kunci. Satu kunci berisi string JSON dan kunci lain berisi array JSON.

SELECT JSON_OBJECT('name':'value', 'type':JSON_ARRAY(1, 2))

Hasil

{"name":"value","type":[1,2]}

Contoh 5

Contoh berikut mengembalikan objek JSON dengan dua kunci. Satu kunci berisi string JSON dan kunci lain berisi objek JSON.

SELECT JSON_OBJECT('name':'value', 'type':JSON_OBJECT('type_id':1, 'name':'a'))

Hasil

{"name":"value","type":{"type_id":1,"name":"a"}}

Contoh 6

Contoh berikut mengembalikan objek JSON dengan input yang ditentukan sebagai variabel atau ekspresi SQL.

DECLARE @id_key nvarchar(10) = N'id',@id_value nvarchar(64) = NEWID();
SELECT JSON_OBJECT('user_name':USER_NAME(), @id_key:@id_value, 'sid':(SELECT @@SPID))

Hasil

{"user_name":"dbo","id":"E2CBD8B4-13C1-4D2F-BFF7-E6D722F095FD","sid":63}

Contoh 7

Contoh berikut mengembalikan objek JSON per baris dalam kueri.

SELECT s.session_id, JSON_OBJECT('security_id':s.security_id, 'login':s.login_name, 'status':s.status) as info
FROM sys.dm_exec_sessions AS s
WHERE s.is_user_process = 1;

Hasil

id_sesi info
51 {"security_id":"AQYAAAAAAAVQAAAAY/0dmFnai5oioQHh9eNArBIkYd4=","login":"NT SERVICE\\SQLTELEMETRY$SQL22","status":"tidur"}
52 {"security_id":"AQUAAAAAAAUVAAAAoGXPfnhLm1/nfIdwAMgbAA==","login":WORKGROUP\\sqluser","status":"running"}

Lihat juga

Data JSON (SQL Server)