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 2016 (13.x) en hoger
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics-
Gebruik OPENJSON- met het standaardschema om een tabel met één rij te retourneren voor elke eigenschap van het object of voor elk element in de matrix.
Hier volgen enkele voorbeelden die gebruikmaken van OPENJSON- met het standaardschema. Zie OPENJSON (Transact-SQL)voor meer informatie en meer voorbeelden.
Voorbeeld: elke eigenschap van een object retourneren
Query
SELECT *
FROM OPENJSON('{"name":"John","surname":"Doe","age":45}')
resultaten
Sleutel | Waarde |
---|---|
naam | John |
achternaam | Voedster |
leeftijd | 45 |
Voorbeeld: elk element van een matrix retourneren
Query
SELECT [key],value
FROM OPENJSON('["en-GB", "en-UK","de-AT","es-AR","sr-Cyrl"]')
resultaten
Sleutel | Waarde |
---|---|
0 | en-GB |
1 | en-UK |
2 | de-AT |
3 | es-AR |
4 | sr-Cyrl |
Voorbeeld: JSON converteren naar een tijdelijke tabel
De volgende query retourneert alle eigenschappen van het info-object.
DECLARE @json NVARCHAR(MAX)
SET @json=N'{
"info":{
"type":1,
"address":{
"town":"Bristol",
"county":"Avon",
"country":"Great Britain"
},
"tags":["Sport", "Water polo"]
},
"type":"Basic"
}'
SELECT *
FROM OPENJSON(@json,N'lax $.info')
resultaten
Sleutel | Waarde | Type |
---|---|---|
type | 1 | 0 |
adres | { "town":"Bristol", "county":"Avon", "country":"Great Britain" } | 5 |
Tags | [ "Sport", "Waterpolo" ] | 4 |
Voorbeeld: relationele gegevens en JSON-gegevens combineren
In het volgende voorbeeld heeft de tabel SalesOrderHeader een kolom SalesReason-tekst die een matrix van SalesOrderReasons in JSON-indeling bevat. De objecten SalesOrderReasons bevatten eigenschappen zoals 'Fabrikant' en 'Kwaliteit'. In het voorbeeld wordt een rapport gemaakt dat elke rij met verkooporders koppelt aan de gerelateerde verkoopredenen door de JSON-matrix met verkoopredenen uit te breiden alsof de redenen zijn opgeslagen in een afzonderlijke onderliggende tabel.
SELECT SalesOrderID,OrderDate,value AS Reason
FROM Sales.SalesOrderHeader
CROSS APPLY OPENJSON(SalesReasons)
In dit voorbeeld retourneert OPENJSON een tabel met verkoopredenen waarin de redenen worden weergegeven als de waardekolom. De operator CROSS APPLY voegt elke rij met verkooporders toe aan de rijen die worden geretourneerd door de functie OPENJSON-tabelwaarde.
Meer informatie over JSON in SQL Server en Azure SQL Database
Microsoft-video's
Zie de volgende video's voor een visuele inleiding tot de ingebouwde JSON-ondersteuning in SQL Server en Azure SQL Database: