Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
              Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL Analytics-eindpunt in Microsoft Fabric
Magazijn in Microsoft Fabric
SQL-database in Microsoft Fabric Preview
Met JSON_OBJECT de syntaxis wordt JSON-objecttekst samengesteld uit nul of meer expressies.
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
Een tekenexpressie die de waarde van de JSON-sleutelnaam definieert.
value_expression
Een expressie die de waarde van de JSON-sleutel definieert.
json_null_clause
Kan worden gebruikt om het gedrag van JSON_OBJECT functies te bepalen wanneer value_expression is NULL. De optie NULL ON NULL converteert de SQL-waarde NULL naar een JSON-null-waarde bij het genereren van de JSON-sleutelwaarde. De optie ABSENT ON NULL laat de hele sleutel weg als de waarde NULLis. De standaardinstelling voor deze optie is NULL ON NULL.
Retourwaarde
Retourneert een geldige JSON-objecttekenreeks van het type nvarchar(max ). Als de RETURNING json optie is opgenomen, wordt het JSON-object geretourneerd als json-type .
Zie de volgende artikelen voor meer informatie over wat u ziet in de uitvoer van de functie JSON_OBJECT:
| Article | Description | 
|---|---|
| SQL Server-gegevenstypen converteren naar JSON-gegevenstypen | De JSON_OBJECT-functie gebruikt de regels die in dit FOR JSON artikel worden beschreven om SQL-gegevenstypen te converteren naar JSON-typen in de uitvoer van het JSON-object. | 
| Hoe VOOR JSON speciale tekens en besturingstekens escapen | De JSON_OBJECT functie escapet speciale tekens en vertegenwoordigt besturingstekens in de JSON-uitvoer, zoals beschreven in dit FOR JSON artikel. | 
Examples
Voorbeeld 1
In het volgende voorbeeld wordt een leeg JSON-object geretourneerd.
SELECT JSON_OBJECT();
Result
{}
Voorbeeld 2
In het volgende voorbeeld wordt een JSON-object met twee sleutels geretourneerd.
SELECT JSON_OBJECT('name':'value', 'type':1);
Result
{"name":"value","type":1}
Voorbeeld 3
In het volgende voorbeeld wordt een JSON-object met één sleutel geretourneerd, omdat de waarde voor een van de sleutels is NULL en de optie ABSENT ON NULL is opgegeven.
SELECT JSON_OBJECT('name':'value', 'type':NULL ABSENT ON NULL);
Result
{"name":"value"}
Voorbeeld 4
In het volgende voorbeeld wordt een JSON-object met twee sleutels geretourneerd. De ene sleutel bevat een JSON-tekenreeks en een andere sleutel bevat een JSON-matrix.
SELECT JSON_OBJECT('name':'value', 'type':JSON_ARRAY(1, 2));
Result
{"name":"value","type":[1,2]}
Voorbeeld 5
In het volgende voorbeeld wordt een JSON-object met twee sleutels geretourneerd. De ene sleutel bevat een JSON-tekenreeks en een andere sleutel bevat een JSON-object.
SELECT JSON_OBJECT('name':'value', 'type':JSON_OBJECT('type_id':1, 'name':'a'));
Result
{"name":"value","type":{"type_id":1,"name":"a"}}
Voorbeeld 6
In het volgende voorbeeld wordt een JSON-object geretourneerd met de invoer die is opgegeven als variabelen of SQL-expressies.
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}
Voorbeeld 7
In het volgende voorbeeld wordt een JSON-object per rij in de query geretourneerd.
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":"slapen"} | 
| 52 | {"security_id":"AQUAAAAAAAUVAAAAoGXPfnhLm1/nfIdwAMgbAA==","login":WORKGROUP\\sqluser","status":"running"} | 
Voorbeeld 8
In het volgende voorbeeld wordt een JSON-object geretourneerd als json-type .
SELECT JSON_OBJECT("a":1 RETURNING json);
Result
{"a":1}
Verwante inhoud
- JSON-gegevens in SQL Server