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
Azure SQL Database
Azure SQL Managed Instance
Titik akhir analitik SQL di Microsoft Fabric
Gudang di Microsoft Fabric
Database SQL di Microsoft Fabric
Sintaks JSON_OBJECT membangun teks objek JSON dari nol atau lebih ekspresi.
Syntax
JSON_OBJECT ( [ <json_key_value> [ , ...n ] ] [ json_null_clause ] [ RETURNING json ] )
<json_key_value> ::= json_key_name : value_expression
<json_null_clause> ::=
NULL ON NULL
| ABSENT ON NULL
Arguments
json_key_name
Ekspresi karakter yang menentukan nilai nama kunci JSON.
value_expression
Ekspresi yang menentukan nilai kunci JSON.
json_null_clause
Dapat digunakan untuk mengontrol perilaku JSON_OBJECT fungsi ketika value_expression adalah 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 adalah NULL. Pengaturan default untuk opsi ini adalah NULL ON NULL.
Mengembalikan nilai
Mengembalikan string objek JSON yang valid dari jenis nvarchar(maks ).
RETURNING json Jika opsi disertakan maka objek JSON dikembalikan sebagai jenis json.
Untuk informasi selengkapnya tentang apa yang Anda lihat dalam output JSON_OBJECT fungsi, lihat artikel berikut ini:
| Article | Description |
|---|---|
| Cara FOR JSON mengonversi jenis data SQL Server ke jenis data JSON | Fungsi ini JSON_OBJECT menggunakan aturan yang dijelaskan dalam artikel ini FOR JSON untuk mengonversi jenis data SQL ke jenis JSON dalam output objek JSON. |
| Bagaimana FOR JSON meloloskan karakter khusus dan karakter kontrol | Fungsi ini JSON_OBJECT lolos dari karakter khusus dan mewakili karakter kontrol dalam output JSON seperti yang dijelaskan dalam artikel ini FOR JSON . |
Examples
Contoh 1
Contoh berikut mengembalikan objek JSON kosong.
SELECT JSON_OBJECT();
Result
{}
Contoh 2
Contoh berikut mengembalikan objek JSON dengan dua kunci.
SELECT JSON_OBJECT('name':'value', 'type':1);
Result
{"name":"value","type":1}
Contoh 3
Contoh berikut mengembalikan objek JSON dengan satu kunci karena nilai untuk salah satu kunci adalah NULL dan ABSENT ON NULL opsi ditentukan.
SELECT JSON_OBJECT('name':'value', 'type':NULL ABSENT ON NULL);
Result
{"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));
Result
{"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'));
Result
{"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 AS NVARCHAR (10) = N'id', @id_value AS NVARCHAR (64) = NEWID();
SELECT JSON_OBJECT('user_name':USER_NAME(), @id_key:@id_value, 'sid':(SELECT @@SPID));
Result
{"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;
Result
session_id |
info |
|---|---|
| 51 |
{"security_id":"AQYAAAAAAAVQAAAAY/0dmFnai5oioQHh9eNArBIkYd4=","login":"NT SERVICE\\SQLTELEMETRY$SQL22","status":"tidur"} |
| 52 | {"security_id":"AQUAAAAAAAUVAAAAoGXPfnhLm1/nfIdwAMgbAA==","login":WORKGROUP\\sqluser","status":"running"} |
Contoh 8
Contoh berikut mengembalikan objek JSON sebagai jenis json .
SELECT JSON_OBJECT("a":1 RETURNING json);
Result
{"a":1}