Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Microsoft Fabric'te
SQL analiz uç noktasıMicrosoft Fabric'te
ambarMicrosoft Fabric'te SQL veritabanı
Söz JSON_OBJECT dizimi, sıfır veya daha fazla ifadeden JSON nesne metni oluşturur.
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
JSON anahtar adının değerini tanımlayan karakter ifadesi.
value_expression
JSON anahtarının değerini tanımlayan ifade.
json_null_clause
value_expression JSON_OBJECTolduğunda işlevin NULL davranışını denetlemek için kullanılabilir. seçeneği NULL ON NULL , JSON anahtar değeri oluşturulurken SQL NULL değerini bir JSON null değerine dönüştürür.
ABSENT ON NULL seçeneği, değer NULLise anahtarın tamamını atlar. Bu seçeneğin varsayılan ayarı NULL ON NULL.
Dönüş değeri
Nvarchar(max) türünde geçerli bir JSON nesne dizesi döndürür.
RETURNING json Seçenek dahil edilirse JSON nesnesi json türü olarak döndürülür.
JSON_OBJECT işlevinin çıkışında gördükleriniz hakkında daha fazla bilgi için aşağıdaki makalelere bakın:
| Article | Description |
|---|---|
| FOR JSON, SQL Server veri türlerini JSON veri türlerine dönüştürme |
JSON_OBJECT işlevi, SQL veri türlerini JSON nesne çıkışındaki JSON türlerine dönüştürmek için bu FOR JSON makalede açıklanan kuralları kullanır. |
| FOR JSON özel karakterlerden ve denetim karakterlerinden nasıl kaçınıyor? |
JSON_OBJECT işlevi özel karakterlerden kaçar ve bu FOR JSON makalede açıklandığı gibi JSON çıkışındaki denetim karakterlerini temsil eder. |
Examples
Örnek 1
Aşağıdaki örnek boş bir JSON nesnesi döndürür.
SELECT JSON_OBJECT();
Result
{}
Örnek 2
Aşağıdaki örnek, iki anahtara sahip bir JSON nesnesi döndürür.
SELECT JSON_OBJECT('name':'value', 'type':1);
Result
{"name":"value","type":1}
Örnek 3
Aşağıdaki örnek, anahtarlardan birinin değeri NULL olduğundan ve ABSENT ON NULL seçeneği belirtildiğinden bir anahtara sahip bir JSON nesnesi döndürür.
SELECT JSON_OBJECT('name':'value', 'type':NULL ABSENT ON NULL);
Result
{"name":"value"}
Örnek 4
Aşağıdaki örnek, iki anahtara sahip bir JSON nesnesi döndürür. Bir anahtar bir JSON dizesi, başka bir anahtar ise bir JSON dizisi içerir.
SELECT JSON_OBJECT('name':'value', 'type':JSON_ARRAY(1, 2));
Result
{"name":"value","type":[1,2]}
Örnek 5
Aşağıdaki örnek, iki anahtarlı bir JSON nesnesi döndürür. Bir anahtar bir JSON dizesi, başka bir anahtar ise bir JSON nesnesi içerir.
SELECT JSON_OBJECT('name':'value', 'type':JSON_OBJECT('type_id':1, 'name':'a'));
Result
{"name":"value","type":{"type_id":1,"name":"a"}}
Örnek 6
Aşağıdaki örnek, değişkenler veya SQL ifadeleri olarak belirtilen girişlere sahip bir JSON nesnesi döndürür.
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}
Örnek 7
Aşağıdaki örnek, sorgudaki satır başına bir JSON nesnesi döndürür.
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","durum":"uyuyor"} |
| 52 | {"security_id":"AQUAAAAAAAUVAAAAoGXPfnhLm1/nfIdwAMgbAA==","login":WORKGROUP\\sqluser","status":"running"} |
Örnek 8
Aşağıdaki örnek json türü olarak bir JSON nesnesi döndürür.
SELECT JSON_OBJECT("a":1 RETURNING json);
Result
{"a":1}
İlgili içerik
- SQL Server'da JSON verilerini