Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL Analytics-végpont a Microsoft Fabricben
Raktár a Microsoft Fabricben
SQL-adatbázis a Microsoft Fabricben
A JSON_OBJECT szintaxis JSON-objektumszöveget hoz létre nulla vagy több kifejezésből.
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
A JSON-kulcs nevének értékét meghatározó karakterkifejezés.
value_expression
A JSON-kulcs értékét meghatározó kifejezés.
json_null_clause
A függvény viselkedésének JSON_OBJECT szabályozására használható, ha value_expression van NULL. A beállítás NULL ON NULL az SQL-értéket NULL JSON null értékké alakítja a JSON-kulcs értékének létrehozásakor. A ABSENT ON NULL lehetőség kihagyja a teljes kulcsot, ha az érték NULL. Ennek a beállításnak az alapértelmezett beállítása a NULL ON NULL.
Visszaadott érték
Egy érvényes , nvarchar(max) típusú JSON-objektumsztringet ad vissza. Ha a beállítás szerepel a RETURNING json beállításban, a JSON-objektum JSON-típusként lesz visszaadva.
A JSON_OBJECT függvény kimenetében megjelenő információkról az alábbi cikkekben talál további információt:
| Cikk | Description |
|---|---|
| Hogyan konvertálja a JSON az SQL Server-adattípusokat JSON-adattípusokká? | A JSON_OBJECT függvény az ebben a FOR JSON cikkben leírt szabályok használatával konvertálja az SQL-adattípusokat JSON-típusokká a JSON-objektum kimenetében. |
| Hogyan kezeli az FOR JSON a speciális és vezérlő karaktereket | A JSON_OBJECT függvény feloldja a speciális karaktereket, és a JSON-kimenet vezérlőkarakterekét jelöli a jelen FOR JSON cikkben leírtak szerint. |
Examples
1. példa
Az alábbi példa egy üres JSON-objektumot ad vissza.
SELECT JSON_OBJECT();
Result
{}
2. példa
Az alábbi példa egy JSON-objektumot ad vissza két kulccsal.
SELECT JSON_OBJECT('name':'value', 'type':1);
Result
{"name":"value","type":1}
3. példa
Az alábbi példa egy JSON-objektumot ad vissza egy kulccsal, mivel az egyik kulcs értéke NULL, és meg van adva a ABSENT ON NULL beállítás.
SELECT JSON_OBJECT('name':'value', 'type':NULL ABSENT ON NULL);
Result
{"name":"value"}
4. példa
Az alábbi példa egy JSON-objektumot ad vissza két kulccsal. Az egyik kulcs tartalmaz egy JSON-sztringet, egy másik kulcs pedig egy JSON-tömböt.
SELECT JSON_OBJECT('name':'value', 'type':JSON_ARRAY(1, 2));
Result
{"name":"value","type":[1,2]}
5. példa
Az alábbi példa egy kétkulcsos JSON-objektumot ad vissza. Az egyik kulcs tartalmaz egy JSON-sztringet, egy másik kulcs pedig egy JSON-objektumot.
SELECT JSON_OBJECT('name':'value', 'type':JSON_OBJECT('type_id':1, 'name':'a'));
Result
{"name":"value","type":{"type_id":1,"name":"a"}}
6. példa
Az alábbi példa egy JSON-objektumot ad vissza változóként vagy SQL-kifejezésként megadott bemenetekkel.
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}
7. példa
Az alábbi példa egy JSON-objektumot ad vissza soronként a lekérdezésben.
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":"sleeping"} |
| 52 | {"security_id":"AQUAAAAAAAUVAAAAoGXPfnhLm1/nfIdwAMgbAA==","login":WORKGROUP\\sqluser","status":"running"} |
8. példa
Az alábbi példa egy JSON-objektumot ad vissza JSON-típusként .
SELECT JSON_OBJECT("a":1 RETURNING json);
Result
{"a":1}
Kapcsolódó tartalom
- JSON-adatok AZ SQL Server